为了将特征分支合并到母版中,我们使用特征分支的git rebase
到母版上,然后使用git merge --no-ff
*。现在,我们要在单独的commit **中记录合并(将提交应用于新HEAD)所需/进行的更改。
通常git rebase
来自功能分支的更改提交,以便将合并的原始更改与冲突解决方案完美地应用于新的HEAD。
[git rebase
后跟git merge
的结果是否有清晰的线性历史记录,以及重新记录操作引入的更改的记录(提交中?)>
某些重新设置/合并问题可能是由于人们无法跟踪要合并的更改而引起的:因此How to resolve merge conflicts in Git可能有助于改善人们进行重新合并/合并的结果,但是它并没有帮助我们记录和审查合并的结果。为合并所做的更改。
[我想我掌握了git中合并和变基的概念:https://www.atlassian.com/git/tutorials/merging-vs-rebasing和所引用的Atlassian文章(https://www.atlassian.com/git/tutorials/merging-vs-rebasing)没有帮助。
*:实际上,我们经常使用git merge --squash
;我更喜欢使用--no-ff
而不是--squash
的答案。并且,--squash
可能会压缩精心分离的功能并合并更改。因此,在这种情况下不是那么有用。
**:上下文:我的同事倾向于创建大型压缩的提交,并且在其中包括他们的一些未审阅代码,并忽略其他同事的某些代码(我们确实希望合并),从而破坏了构建;引起错误;并删除所有功能,仅以“只是”重新定基分支的名义。因此,我们正在寻找方法来跟踪他们造成的破坏。我认为一般建议是较小的/原子的提交,较短的分支寿命,更好的自动化测试/连续集成,并摆脱同事。但是,从短期来看,目前尚不容易实现这些目标。我们努力在前三点上提高自己。
为了将功能分支合并到master中,我们使用功能分支的git rebase到master上,然后git merge --no-ff *。现在,我们要记录合并所需的/所做的更改(应用...
是否可能既有干净的线性历史记录,如git rebase和git merge的结果,以及rebase操作引入的更改记录(提交)?