防止后续拉取请求的重复提交

时间:2017-06-05 22:40:46

标签: git github gitkraken

所以根据我的理解,在我发出拉取请求并且已经合并之后,GitHub会创建一个“合并提交”来表示这一点。

但是,如果我在行中再次发出pull请求,即使将合并提交合并到我的本地fork之后,它也会显示以前的pull请求中的所有提交。

我似乎可以解决这个问题的唯一方法是在合并拉取请求之后,将我的本地头重置为GitKraken中的原始repo的合并提交,然后强制推送到我的分支。

问题是,这个感觉就像这是一种非常错误的做事方式。真的吗?如果是这样,我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

强行推动通常意味着某些事情不太正确。

听到GitHub.com上的合并按钮后,您似乎没有更新本地上游分支。

短版

git checkout master
git pull --all
git checkout -b feature-branch
git add stuff
git commit -m "cool feature"
git push origin feature-branch
<click merge on GitHub.com>
git checkout master
git pull --all -p
git branch -d feature-branch
<see refs move, your feature branch get cleaned>

如果你从这一点再次分支,你将不会在以后的PR中看到“酷特征”提交,因为你的本地主人拥有它。

更多细节。

合并后,运行 git pull --all -p 使用所有遥控器及其参考更新您的本地仓库。 -p还将修剪合并的分支引用以清理选项卡完整列表。

所以,顺序通常是:

git checkout master git pull --all -p ;这应该更新您的本地主服务器,除非它与上游不同 如果你对master有本地更改,你应该推送它们,或者通过它们推送它们。

如果你想扔掉它们,并让你的主人在

上复制上游

git reset --hard origin/master将使当前本地分支成为远程引用的副本。