如何将Master分支恢复到上游

Gel*_*Luo 144 git github

我已经分叉了一个git存储库并设置了上游.我在Master分支中进行了一些更改并提交并推送到github.

现在我该如何放弃Master分支中的所有更改并使其与上游的主分支相同?

nic*_*rim 273

(我假设您现在要忽略的更改位于您的origin远程,您在您的master分支上,并且您想要恢复到upstream远程的内容)

首先,将工作副本重置为上游主服务器:

git remote update
# the double hyphen ensures that upstream/master is
# considered as a revision and not confused as a path
git reset --hard upstream/master --
Run Code Online (Sandbox Code Playgroud)

然后将这个新的分支头推送到您的原始存储库,忽略它不会是快进的事实:

git push origin +master
Run Code Online (Sandbox Code Playgroud)

  • 如果你使用GitHub分支分支,也可能需要运行`git remote add upstream <upstream_repo_url>`. (13认同)
  • @ bluenote10他们不一样.`+`告诉git"[忽略]它不会是一个快进的事实".这有点像做一个`git push --force`,但它只适用于那个特定的引用. (4认同)
  • `git push origin + master`中的`+`是什么意思?它和`git push origin master`一样吗? (3认同)