git pull --rebase upstream master污染我的Github PR差异

时间:2018-04-22 18:38:32

标签: git github open-source

在根据维护者的要求对我的PR进行更改之前,我做了git pull --rebase upstream master将我的提交放在代码库中的其他新提交之上。

但是,pollute the diff of my PR似乎与其他提交有所变化。

为什么会发生这种情况? 由于我PR的基础是upstream/master,而我只有git pull --rebase upstream master,差异不应该仅显示我的代码吗?

2 个答案:

答案 0 :(得分:0)

upstream更新后,您应该更新origin

git push origin upstream/master:master

然后更新你的公关。

答案 1 :(得分:0)

我一直这样做,并且发现以下过程是解决它的最佳方法:

记下要保存的PR中所有提交的git commit哈希值(即你的提交)。

然后运行以下命令:

git fetch upstream
git reset --hard upstream/master
git cherry-pick <hash 1>
git cherry-pick <hash 2>
// cherry-pick all of your commits then:
git push -f origin your-branch

它应该自动修复您的PR