我有四个分支(master, b1, b2和b3)。我在b1-b3上工作后,我意识到我在分支主上有一些应该在所有其他分支中更改的东西。我改变了我在master中需要的东西…这是我的问题:

我如何用主分支代码更新所有其他分支?


当前回答

你有两个选择:

第一个是合并,但是这为合并创建了一个额外的提交。

检查每个分支:

git checkout b1

然后合并:

git merge origin/master

然后推:

git push origin b1

或者,你可以做一个rebase:

git fetch
git rebase origin/master

其他回答

对于这个问题有两种选择。

1) Git 变基

2)去合并

只有与上述两者不同的合并情况下,将有额外的历史提交

1) git结帐分支(b1,b2,b3)

2) git rebase origin/master(如果冲突可以通过git rebase -continue在本地解决)

3)去推

或者,git合并选项是类似的方式

1) git checkout“your_branch”(b1,b2,b3)

2)转到合并母版

3)去推

您可以合并,也可以使用git的选择性跨分支应用单独的提交。

你有两个选择:

第一个是合并,但是这为合并创建了一个额外的提交。

检查每个分支:

git checkout b1

然后合并:

git merge origin/master

然后推:

git push origin b1

或者,你可以做一个rebase:

git fetch
git rebase origin/master

用你的主分支副本更新其他分支,如(备份)。 你可以按照任何一种方式(rebase或merge)…

做rebase(不会有任何额外的提交到备份分支)。 合并分支(将有一个额外的自动提交到 备份分支)。 注:Rebase只是建立一个新的base(一个新的副本)

git 结帐备份 Git 合并大师 git push

(重复执行其他分支,如backup2等)

git 结帐备份 git 变基大师 git push

(重复执行其他分支,如backup2等)

令人惊讶的是,我最常用的方法没有被提及。这在基于Trunk的开发风格中是很常见的,其中main不断更新,并且从它的分支中工作。

假设main已经有了更新的代码,并且你在分支b1中。如果不是这种情况,您将需要git fetch。

因此,要用main中所做的更改更新b1,只需使用

git pull origin main

当您或其他人到达其他分支并想要更新时,也必须在其他分支中进行相同的操作。