【发布时间】:2011-12-29 09:58:24
【问题描述】:
我已经分叉了一个 git 存储库并在上游进行了设置。我在 Master 分支中做了一些更改,并提交并推送到了 github。
现在我应该怎么做才能放弃我在 Master 分支中的所有更改并使其与上游的 master 分支相同?
【问题讨论】:
我已经分叉了一个 git 存储库并在上游进行了设置。我在 Master 分支中做了一些更改,并提交并推送到了 github。
现在我应该怎么做才能放弃我在 Master 分支中的所有更改并使其与上游的 master 分支相同?
【问题讨论】:
(我假设您现在要忽略的更改位于您的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 --
然后将这个新的分支头推送到您的原始存储库,忽略它不会是快进的事实:
git push origin +master
【讨论】:
git remote add upstream <upstream_repo_url>。
git push origin +master中的+是什么意思?和git push origin master一样吗?
+ 告诉 git “[忽略] 它不会是快进的事实”。这有点像做git push --force,但它只适用于那个特定的参考。