我在本地仓库中做了一些提交,将它们推送到远程并向上游主机创建了一个 merge 请求。当 PR merge 时,这些提交被压缩了。
$ git commit A
$ git push origin master
$ git commit B
$ git push origin master
创建 PR,压缩并 merge 到上游 master
然后当我做...
$ git pull upstream master
它执行 merge 而不是快进,因为提交是不同的。在上游更改/压缩提交后,如何更新我的本地存储库以匹配上游主历史记录?
我最终做了以下......
$ git reset HEAD~2 --hard
$ git pull upstream master
$ git push origin master --force
为了匹配我的历史,但我希望有一种更简洁的方法来做到这一点。
最佳答案
如果您没有任何要保存的本地更改,您可以重置本地分支以匹配远程。
首先,从远程获取新数据
git fetch upstream
其次,在仔细检查您是否在本地 master 分支之后
git reset --hard upstream/master
这将重置您的本地分支以匹配远程分支。
关于 merge 上游时 Git commit 被压缩,我如何更新我的本地 repo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39400283/