重新定位分支
您可以使用 Git 将一个分支的基转换为另一个分支。如前所述,该命令结合了两个分支的更改。如果将名为 A 的分支变基到另一个分支上,则该命令将采用分支 A 的提交引入的更改,并根据另一个分支的 HEAD 应用这些更改。此操作后,其他分支中的更改在分支 A 中也可用。mergegit
该过程如下图所示。我们希望将调用到 master 上的分支重新定位。branch_1

运行 rebase 命令会创建一个新的提交,其中包含主分支顶部的分支的更改。

执行衍合不会创建合并提交。源代码的最终结果与合并相同,但提交历史记录更清晰;历史似乎是线性的。
Rebase 可用于将本地 Git 存储库中的功能分支转发到主分支的更改上。这可确保在最终发布之前,您的要素靠近上游分支的尖端。
如果通过变基来重写多个提交,则可能必须解决每次提交的冲突。在这种情况下,合并操作的执行可能更简单,因为您只需解决一次合并冲突。
此外,如果您的策略要求所有提交都生成正确的软件,则必须测试所有重写的提交,因为它们是由重定基算法“重写”的。由于合并/变基/樱桃采摘纯粹是基于文本的,并且不理解这些文本的语义,因此它们最终可能会得到逻辑上不正确的结果。因此,将长功能分支合并到上游而不是重新设定其基数可能会更有效,因为您只需要查看和测试合并提交。冲突 A
您可以使用交互式 rebase 命令对本地 Git 提交历史记录进行进一步更改,例如合并提交、跳过一些提交或更改其顺序。
变基的良好做法
应避免对已在其他 Git 存储库中发布的更改使用

本文介绍了如何使用Git将一个分支的基转换到另一个分支,即变基操作。变基可以使得提交历史更清晰,但也需要注意避免对已发布的更改进行变基。文章讨论了变基的良好实践,比如在本地开发中使用,以及如何执行变基操作的示例。
最低0.47元/天 解锁文章
670

被折叠的 条评论
为什么被折叠?



