Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何将本地主机合并到所有本地分支中?_Git - Fatal编程技术网

Git 如何将本地主机合并到所有本地分支中?

Git 如何将本地主机合并到所有本地分支中?,git,Git,我有几个本地分支,过了一段时间,我将所有这些分支合并到master中,然后我想将本地master合并到所有本地分支中 我如何才能做到这一点?您可以删除本地分支并重新创建它们。这样,新分支将成为主分支的镜像。您可以使用git签出分支名称和&git重置--hard master获得相同的结果 请记住,这可以删除一些提交。如果您不想这样做(可能是因为这些本地分支有一个远程分支),您将需要执行git merge:git签出分支名称和&git merge mastergit中没有一个命令,但是在bash会

我有几个本地分支,过了一段时间,我将所有这些分支合并到master中,然后我想将本地master合并到所有本地分支中


我如何才能做到这一点?

您可以删除本地分支并重新创建它们。这样,新分支将成为主分支的镜像。您可以使用
git签出分支名称和&git重置--hard master
获得相同的结果


请记住,这可以删除一些提交。如果您不想这样做(可能是因为这些本地分支有一个远程分支),您将需要执行
git merge
git签出分支名称和&git merge master

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
或用于重置分支,如中的建议:


我在这里使用了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

据我所知,没有。
for BRANCH in `git branch`; do if [[ "$BRANCH" != "master" ]] ; then git checkout $BRANCH ; git merge master --no-edit; fi ; done