Git 如何将所有分支与主分支合并?

Git 如何将所有分支与主分支合并?,git,Git,我在本地有几个分支,希望更新它们。 如何将主分支中的内容合并到所有其他分支中?假设您从主分支出来: #!/bin/bash git checkout master git pull branches=() eval "$(git for-each-ref --shell --format='branches+=(%(refname))' refs/heads/)" for branch in "${branches[@]}"; do branch=`expr substr $bran

我在本地有几个分支,希望更新它们。
如何将主分支中的内容合并到所有其他分支中?

假设您从主分支出来:

#!/bin/bash

git checkout master
git pull

branches=()
eval "$(git for-each-ref --shell --format='branches+=(%(refname))' refs/heads/)"

for branch in "${branches[@]}"; do
   branch=`expr substr $branch 12 100`
   git checkout $branch
   git merge master
done

git checkout master
git checkout my_branch
git rebase master

那是不对的;OP希望将
我的分支机构中的
主控机构
合并,而不是将
我的分支机构
重新设置为
主控机构
。OP似乎对他想要的东西有一个清晰的概念,甚至发布了一个不涉及重新设置的自我回答。我认为你的回答不正确。啊。。。我将把
eval…
wart替换为
branchs=($(git for each ref--format=“%(refname)”refs/heads))
。。。而
branch=…
位与
branch=${branch//refs\/heads\/}
。。。否则,我认为这是对的……如果在任何一个步骤中有任何合并冲突,您也会遇到所有令人困惑的情况。您只需使用:short to the format说明符即可获得分支名称。@AndrewC在一般情况下这是一个很好的观点。但是,如果您所做的只是执行一个
git获取
,然后更新所有跟踪分支以与
origin
一致,那么这类事情应该没问题。但是,在剧本上挂上一个大大的红色警告标志并不是一个坏主意。另外,我忘记了
:short
修饰符-感谢提醒…他没有更新跟踪分支以同意origin,他正在将所有分支合并到master中,谁知道这需要什么。@AndrewC No,序列
git checkout$branch;git merge master
master
合并到每个分支中(无可否认,这与更新跟踪分支也不是一回事)。。。