我在一个由5名开发人员组成的小团队中工作。我们正在努力弄清楚如何让我们的开发部门尽可能保持清洁和污染。 到目前为止,我们一直在做这个流程:
问题在于,这通常会导致创建一个新的"合并...到开发"提交,并创建钻石形状,这有点令人困惑,即使只有5个开发人员。
是否有更好的流程,可能使用rebase,以保持开发分支更清洁,尽可能直接?
祝你好运
答案 0 :(得分:0)
TL; DR:
git pull --rebase
或git rebase
)所以详细了解。
当我从svn传递给git时,我被图形日志的复杂性所震撼,在使用平面svn历史记录多年后看起来很糟糕。但是图形是git不可或缺的一部分,日志的复杂性随之而来。
要回答您的问题,我认为您需要继续合并您的功能分支,因为它会为您的历史带来感觉:
关于rebase,你绝对必须避免在公共/共享分支上执行此操作。因为它经常重写您的历史记录,丢失信息的风险很高,您的远程存储库很快就会与您的配合存储库不同步。如果您需要在共享分支上执行git push --force
,则您处于危险区域。
我可以预先指定你做rebase只是为了用远程存储库更新你的本地分支。如果你不这样做,更新确实会创建无用的合并提交,这会使你的历史变脏。
因此,仅使用git pull --rebase
更新您的分支,并使用旧的经典git合并恢复您的功能。
更新的流程将是:
通过一些练习,您可以更轻松地使用"钻石形状"。
我个人使用gup别名git pull --rebase
迫使我在每次更新时使用rebase。
希望它有所帮助。
于连。