【发布时间】:2020-07-28 11:30:57
【问题描述】:
我做了一些Gerrit 代码审查,发现一旦我们在 Gerrit 页面上单击“提交”,它就不会进行合并,而是进行“变基”(更准确地说,一些樱桃挑选) ,因此历史是线性的,我所有的小提交历史都会进入该线性历史,并且没有“合并”提交。
然后我在 GitHub 上尝试了类似的操作:只需 fork 一个 repo,然后在 web 上编辑并创建一个 pull request,并让原始 repo 通过合并来接受该 pull request。
然后我在 SourceTree 中看到它是“合并”,而不是“变基”,所以历史不是线性的......但如果我这样做 git log,我仍然会看到所有提交历史,可能只是排序按时间顺序。
但问题是,GitHub 可以像 Gerrit 一样做 rebase 吗?这应该不难做到:当用户可以在 GitHub 上单击“Merge”时,只需检查 rebase 是否一切正常,只需将“Merge”按钮更改为“Merge by rebase”或“Accept the changes (作为变基)”,它就像 Gerrit 一样工作,变基是许多回购所有者喜欢的方式。那么 GitHub 可以像 Gerrit 一样做 rebase 吗?
【问题讨论】:
-
这能回答你的问题吗? How to use Squash And Merge in GitHub?
-
@EncryptedWatermelon 壁球合并不能替代变基。挤压时会丢失详细的历史记录。
-
我以为他想要压缩和合并。我误解了他想要什么。对于 rebase 只是不同的选项,该过程是相同的。 help.github.com/en/github/…