git放弃所有更改并从上游拉
我如何获取上游回购,并取代主? 我的回购只有一个分支,那就是主人,我完全搞砸了,所以我基本上需要从上游重新开始。 我认为init会做这个工作,但有没有更简单的方法?
有两件事你可以在这里做 – 你可以重新login远程回购(如已删除的评论中提到的),或者你可以reset --hard – 对共同的祖先很难,然后做一个拉,这将快进远程主机上的最新提交。 
 具体来说,这里是Nevik Rehnel的回答( fetch之前提到的)的简单扩展: 
 git reset --hard origin/master git pull origin master 
  注意 :使用git reset --hard将会放弃所有未提交的更改,如果您是git的新手,可能很容易将此命令与您的命令混淆,因此请确保您在继续之前了解它将执行的操作。 
 而分支大师: git reset --hard origin/master 
 然后用git gc做一些清理(更多关于这个在man页面中) 
 更新:你也可能需要做一个git fetch origin (或者,如果你只想要该分支的git fetch origin master ); 如果在重置之前或之后执行此操作应该没有关系。  (谢谢@ eric-walker) 
你可以用一个命令来完成它:
 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 
瞧,现在你的叉子和上游一样。