如何在 Git 中聚合 2 个分支

ABC*_*lus 2 git branching-and-merging

Git 有没有办法用一个命令聚合 2 个分支?

假设我有一个分支feature1正在开发一个功能,另一个分支feature2正在开发另一个功能。

现在我想融合这两个功能,因为开发feature1需要在分支上开发一些东西feature2,反之亦然。

AFAIK,我可以通过执行 2 次合并、签出feature1、合并feature2到其中,然后签出feature2并合并feature1到其中来实现此目的。

有没有办法使用单个命令使 2 个分支汇聚成 1 个合并点?接下来,他们再次在两个独立的分支中继续。

Ale*_*zić 5

不,开箱即用的 git 不提供此功能。但是您可以创建一个别名:

git config --global alias.sync="!git checkout $1 && git merge $2 && git checkout $2 && git merge $1"

然后你就可以这样做:

git sync feature1 feature2

它会为你完成两个合并

  • 请记住,默认情况下进行 2 次合并应该可以正常工作,但如果您已将 git 配置为不使用快进,那么这将产生混乱的历史记录。另一种选择是,在第一次合并之后,直接重新定位另一个分支。有多种方法,我不知道选择特定方法的原因,但“gitbranch -f $2”将是一种选择 (3认同)