如何获取上游仓库并将其替换为主仓库?我的仓库里只有一个分支,这是主人,我完全搞砸了,所以我基本上需要从上游开始.我认为init会做这个工作,但有更简单的方法吗?
Eri*_*ker 216
你可以在这里做(至少)两件事 - 你可以重新登录远程仓库,或者你可以reset --hard到共同的祖先然后做一个拉动,这将快进到远程主机上的最新提交.
具体来说,这是Nevik Rehnel原始答案的简单扩展:
git reset --hard origin/master
git pull origin master
注意:使用git reset --hard将丢弃任何未提交的更改,如果您是git的新手,可能很容易将自己与此命令混淆,因此请确保在继续操作之前了解它将要执行的操作.
Nev*_*nel 22
而在分支大师:
git reset --hard origin/master
然后做一些清理git gc(更多关于这个在手册页中)
更新:您可能还需要做一个git fetch origin(或者git fetch origin master如果您只想要那个分支); 如果在重置之前或之后执行此操作,则无关紧要.(谢谢@ eric-walker)
Luc*_* C. 16
您可以在一个命令中执行此操作:
git fetch --all && git reset --hard origin/master
或者在一对命令中:
git fetch --all
git reset --hard origin/master
请注意,您将丢失所有本地更改
git reset <hash>  # you need to know the last good hash, so you can remove all your local commits
git fetch upstream
git checkout master
git merge upstream/master
git push origin master -f
瞧,现在你的叉子又回到了上游。
我现在终于意识到,而不是
git fetch --all && git reset --hard origin/master
它应该是
git fetch --all && git reset --hard origin/<branch_name>
相反(如果一个人在不同的分支上工作)
| 归档时间: | 
 | 
| 查看次数: | 120533 次 | 
| 最近记录: |