"如何承诺"发生在已经在回购中的提交?

时间:2016-05-04 13:32:05

标签: git github

我在一些项目中看到了这一点。我认为Github用&#34提供大图片/小图片;提交"当另一个提交的提交被添加到另一个作者剪切的分支时。在这种情况下,可以通过将develop分支合并到功能分支中来完成。

在拉取请求/功能分支中: enter image description here

已经在develop分支: enter image description here

我查看了d6796688317e24的差异是相同的,但没有合并冲突,因此拉取请求仍然可以合并。我认为这是可能的,因为PR也有合并提交,可能解决了自我冲突的提交,但我真的很想知道拉请求创建者做了什么才能实现这一点。

我解决这个问题的建议只是从develop中删除一个新的分支,然后从功能分支中选择更改到新分支(只有少数几个)。我更感兴趣的是知道可能导致这些重复提交出现在pull request / other dev功能分支中的原因。

1 个答案:

答案 0 :(得分:3)

  

当另一个提交的提交被添加到另一个作者剪切的分支

那是错的。提交不是由"切断"另一位作者,没有作者与分支相关联。它们是提交的瞬时指针,仅此而已。

Git向您展示作者和提交者是不同的人。每个提交都有an author and a committer。他们通常是同一个人,但当他们不同时,Github会以画中画的方式展示他们。

如果你定期看到这个,那很有可能是因为有人正在改变其他人的提交。

  

看起来和d679668和8317e24的差异是相同的,但没有合并冲突,因此拉取请求仍然可以合并。

引入的更改相同时没有冲突。

  

我解决这个问题的建议只是从开发中删除一个新分支,并从功能分支中挑选更改到新分支

这是一个解决方案。您还可以要求开发人员向git fetch发送拉取请求,然后git rebase -i origin/<target branch>,并手动选择他撰写的并且有兴趣合并的提交。

  

我更有兴趣知道是什么导致这些重复提交出现在pull请求/其他开发人员的功能分支中。

在某个时间点,作者在他的功能分支上结束了这些提交。也许他将他们从一个不同的分支合并,或者将他的分支从origin/develop开始,而他的本地develop落后。无论如何,他可能在发出拉取请求之前在develop重新设置了他的功能分支,并不小心看看他拖着哪些提交,并且最终改变其他人的提交。除了他自己的。