基本上,由于我无法控制的事件,我的远程仓库被移动了 - 在此期间我在我的本地副本上做了很多工作,现在我真的只想用我的本地文件覆盖远程仓库中的所有东西.
但是,我似乎无法做到这一点.我能得到的最接近的是拉和合并,但是它想要引导我完成一些复杂的合并过程.我不想合并.我想覆盖.我不需要新的分支 - 基本上,我只想重新开始.
远程回购正在解决.
Kju*_*uly 51
您可以删除分支并重新创建它,假设您要覆盖的分支是dev:
删除远程主机中的分支(github)
git push origin :dev
Run Code Online (Sandbox Code Playgroud)
然后再次推动你的开发:
git push origin dev
Run Code Online (Sandbox Code Playgroud)
我使用Github进行托管,不熟悉unfuddle,但我认为它也可以解决问题.:)
就像@melee提到的那样,你也可以使用
git push origin dev -f
Run Code Online (Sandbox Code Playgroud)
(不确定是否-f有效,但--force没关系)
git push origin dev --force
Run Code Online (Sandbox Code Playgroud)
强制覆盖分支.我记得我之前做过.谢谢@melee.:)
小智 7
一直有同样的问题。这个命令对我有用。
git push --set-upstream origin master --force
Run Code Online (Sandbox Code Playgroud)
如何在主分支上执行此操作,而不从远程存储库中拉取数据:
创建一个新文件夹,初始化 git,添加远程存储库 - 不要拉或取!
mkdir clean_repo
git init
git remote add origin <remote-repo>
创建(并切换到)空的本地分支,添加、提交并将测试文件推送到其中。
git checkout test
echo "test" > test
git add .
git commit -m "adding test"
git push origin:test
在 github/bitbucket 上,将默认分支更改为新分支
在本地,切换到主分支,提交并推送到远程仓库/分支
git checkout -b master
git push origin --mirror