更新分支而不提交

Ale*_*xan 5 git rebase git-merge git-commit

前一段时间,我从开发分支创建了分支,实际上我什么也没做,只是一个提交编辑评论。

现在我想开始使用这个分支,但我想用开发的提交来更新它。

实际上我可以删除它并再次创建分支,但我感兴趣的是如果我在开发中进行合并或变基会发生什么。

因为这个分支实际上没有提交,所以我认为合并和变基之间没有区别。我对吗?

如果我首先在其他方向上执行操作:首先将开发分支与此分支合并,会发生什么?

小智 2

变基和合并之间存在差异,这将(仅)体现在您的提交历史记录图中。

变基:

如果您进行变基,您的提交历史记录将类似于您今天使用主分支创建开发分支和一次开发提交。(时间戳当然会讲述不同的故事)。您的提交历史记录将是线性的。

所有变基冲突解决方案都将放在此开发提交中。

合并:

如果您进行合并,git 将创建一个合并提交,合并您的主分支和开发分支。此合并提交将有两个父级 - 主分支的头部(或尖端)和开发分支的头部(或尖端)。您的提交历史记录不会是线性的。

所有合并冲突解决方案都将放置在此合并提交中。

合并方向

与大多数其他 VCS 不同,git 中的合并没有方向。无论将开发分支合并到主分支还是将开发分支合并到主分支都没有关系。结果应该是一样的。

概括:

选择 rebase 而不是 merge 或相反的方式是每个基础的选择,但它是一个有效果的选择。 是帮助您做出决定的良好资源。