是的,另一个 git flow 问题.. :(
我非常了解“标准” git rebase 流程:
- 开发人员从上游分支(例如“master”)创建跟踪分支(例如“featureA”)
- 开发人员代码、提交、rebase 拉取、代码、提交、rebase 拉取等
- 代码完成,开发者压缩提交并推送到 master
我遇到的问题是,在与 master 合并之前,这没有给代码审查留下空间。审阅者只有在 master 上才能看到更改,因此如果开发人员需要调整任何内容,则 master 上将针对给定功能进行多次提交。理想情况下只有一个。
我知道有几个选项可以解决这个问题,但并不理想:
- 让开发人员将功能分支推送到远程。这样做的问题是,在他们从 master 重新定位后,推送必须是强制推送,虽然在这种情况下可能是安全的,但我不想像往常一样做生意。
- 不要将上游更改重新定位到功能分支,合并它们。有了这个,我无法压缩功能分支并将提交推回主控(对吗??)
- 使用 gerrit/github。我不得不猜测有一种方法可以在纯 git 中实现这一点吗?
有没有更好的办法?