前段时间我从开发分支创建了分支,实际上我没有做任何事情,只有一个提交编辑注释。
现在我想开始使用这个分支,但我想用开发提交来更新它。
实际上我可以放弃它并再次创建分支,但是我很感兴趣,如果我合并或改进了开发,会发生什么。
因为这个分支几乎没有提交,我认为merge和rebase之间没有区别。我是对的吗?
如果我先向其他方向做的话会发生什么:首先将开发分支与此分支合并?
答案 0 :(得分:1)
rebase和merge之间存在差异,它将(仅)显示在您的提交历史记录图中。
<强>调整基线:强>
如果你做了一个rebase,你的提交历史将看起来像你今天使用你的主分支来创建你的开发分支和你的一个开发提交。 (时间戳当然会讲述一个不同的故事)。您的提交历史记录将是线性的。
所有rebase冲突解决方案都将放在此开发提交中。
<强>合并:强>
如果你进行合并,git将创建一个合并提交,它将你的主分支和你的开发分支组合在一起。此合并提交将有两个父项 - 主分支的头(或提示)和开发分支的头(或提示)。您的提交历史记录不是线性的。
所有合并冲突解决方案都将放在此合并提交中。
合并方向
与大多数其他VCS不同,git中的合并没有方向。如果将开发分支合并到主分支或将开发分支合并到主分支中,则无关紧要。结果应该是一样的。
<强>要点:强>
选择rebase over merge或反过来是一个基础选择,但它是一个有效的选择。 This是帮助您做出决定的好资源。