我有几个本地分支,过了一段时间,我将所有这些分支合并为master,然后我想将本地master合并到所有本地分支。
我该怎么做?
答案 0 :(得分:1)
git中没有一个命令,但是在“bash会话”中,“为所有分支”执行某些操作的方式是:
for BRANCH in `ls .git/refs/heads`; do something $BRANCH; done
可以用于合并:
for BRANCH in `ls .git/refs/heads`; do if [[ "$BRANCH" != "master" ]] ; then git checkout $BRANCH ; git merge master ; fi ; done
for BRANCH in `ls .git/refs/heads`; do if [[ "$BRANCH" != "master" ]] ; then git checkout $BRANCH ; git reset --hard master ; fi ; done
答案 1 :(得分:0)
您可以删除本地分支并重新创建它们。有了这个,新的分支将成为主分支的镜像。您可以使用git checkout branch-name && git reset --hard master
获得相同的结果。
请记住,这可以删除一些提交。如果您不想要(可能因为这些本地分支机构有远程分支机构),您需要执行git merge
:git checkout branch-name && git merge master
。
答案 2 :(得分:0)
我从这里开始使用VonC的答案,但是由于某种原因ls .git/refs/heads
停止生成所有分支名称-该文件夹中只有两个。因此,此修改后的版本对我有用:
for BRANCH in `git branch`; do if [[ "$BRANCH" != "master" ]] ; then git checkout $BRANCH ; git merge master --no-edit; fi ; done