GitHub能否像Gerrit一样变基而不是合并?

问题描述 投票:1回答:1

我进行了一些Gerrit代码审查,发现,一旦我们在Gerrit页面上单击“提交”,它就不会进行合并,而是进行“重新设置”,因此历史记录是线性的,并且所有我的小提交历史将进入线性历史,并且没有“合并”提交。

然后我在GitHub上尝试了类似的操作:只需生成一个仓库,然后在Web上进行编辑并创建请求请求,然后让原始仓库通过合并来接受请求请求。

然后我在SourceTree中看到这是一个“合并”,而不是“重新设置”,因此历史记录不是线性的...但是如果我执行git log,我仍然会看到所有提交历史记录,可能只是按时间顺序排序。

但是问题是,GitHub可以像Gerrit一样进行重新设置吗?这实际上并不难:当用户可以在GitHub上单击“合并”时,只需检查并查看重新设置是否很好就可以了,只需将“合并”按钮更改为“通过重新合并”或“接受更改”即可。 (作为重新设置基准)”,它就像Gerrit一样工作,而重新设置基准是许多回购所有者喜欢的方式。 GitHub可以像Gerrit一样做一个基准吗?

git github gerrit rebase
1个回答
0
投票

GitHub提供了一个绿色的“合并”按钮,一侧带有下拉箭头。单击下拉箭头可以更改操作:

  • 合并:相当于普通的git merge
  • 重新设置并合并:进行重新设置,就像通过git rebase --force,然后对所复制的提交进行快速转发
  • 压缩和合并:或多或少地相当于运行git merge --squash

[这三个选项的中间一个类似于Gerrit的操作,但我不清楚Gerrit是否具有先有效地执行git rebase --force的(mis?)功能。

[强制变基]意味着您-单击合并按钮的人员-成为新提交的committer,并且所有提交都具有新的不同的哈希ID,即使原始could照原样使用,即使您是原始提交的提交者。 (如果您不是原始提交者,那将是强制执行此类重新设置的一个很好的借口。)

© www.soinside.com 2019 - 2024. All rights reserved.