如何在github中从一个本地分支推送到所有远程分支?

如何在github中从一个本地分支推送到所有远程分支?,git,branch,Git,Branch,我的git存储库中有4个以上的远程分支。 我的目标是使用git命令将一个代码推入所有这些分支 所以我想说: git add . git commit -m "Do all with one command" git push origin -all 当然,上面的命令可能无法正常工作 我可以用上面的3个命令来执行这种操作吗?已经有了一个git push-请注意双连字符,但它可能,或者至少可能不是您想要的。这里真正的问题是你没有正确定义你想要什么,或者至少,我不完全确定你想要在

我的git存储库中有4个以上的远程分支。 我的目标是使用git命令将一个代码推入所有这些分支

所以我想说:

git add .
git commit -m "Do all with one command"
git push origin -all
当然,上面的命令可能无法正常工作

我可以用上面的3个命令来执行这种操作吗?

已经有了一个git push-请注意双连字符,但它可能,或者至少可能不是您想要的。这里真正的问题是你没有正确定义你想要什么,或者至少,我不完全确定你想要在这里实现什么。对我来说,特别令人困惑的是:

在当前分支上仅进行一次新提交。如果然后使用git push发送一个新的提交,但希望将其发送到四个分支,那么这可能不会达到您的目的

你曾经用过,比如说:

for branch in br1 br2 br3 br4; do
    git checkout $branch
    [do some editing and/or cherry-picking and so on here]
    git commit
done
因此,您对名为br1、br2、br3和br4的本地分支进行了更新,现在您希望向origin上的四个相应分支发送四个或更多提交,现在这一切都有意义了

关于这一点,这里:

git push --all origin
可能正是你想要的。但是,它可能比您想要的做得更多,因为它的意思与:

git push origin "refs/heads/*:refs/heads/*"
i、 例如,使用所有本地分支名称向其他Git发送相同名称的请求。如果您也有分支br5和br6,则会在这些分支上发送任何新的提交,并要求origin更新其拼写与您相同的分支名称

如果这确实是你想要做的,考虑在上面的Git Press中使用-ALL或一个显式的ReFSPEC。您还可以将push.default设置更改为matching。大多数用户可能不应该使用匹配设置。这是Git 1中的默认设置,在Git 2中被更改为simple,因为这对大多数用户来说是错误的,但没有一个人是大多数用户。

已经有了Git push,所有人都注意到双连字符,但它可能,或者至少可能,不是您想要的。这里真正的问题是你没有正确定义你想要什么,或者至少,我不完全确定你想要在这里实现什么。对我来说,特别令人困惑的是:

在当前分支上仅进行一次新提交。如果然后使用git push发送一个新的提交,但希望将其发送到四个分支,那么这可能不会达到您的目的

你曾经用过,比如说:

for branch in br1 br2 br3 br4; do
    git checkout $branch
    [do some editing and/or cherry-picking and so on here]
    git commit
done
因此,您对名为br1、br2、br3和br4的本地分支进行了更新,现在您希望向origin上的四个相应分支发送四个或更多提交,现在这一切都有意义了

关于这一点,这里:

git push --all origin
可能正是你想要的。但是,它可能比您想要的做得更多,因为它的意思与:

git push origin "refs/heads/*:refs/heads/*"
i、 例如,使用所有本地分支名称向其他Git发送相同名称的请求。如果您也有分支br5和br6,则会在这些分支上发送任何新的提交,并要求origin更新其拼写与您相同的分支名称

如果这确实是你想要做的,考虑在上面的Git Press中使用-ALL或一个显式的ReFSPEC。您还可以将push.default设置更改为matching。大多数用户可能不应该使用匹配设置。这是Git 1中的默认设置,在Git 2中更改为simple,因为这对大多数用户来说是错误的,但没有一个人是大多数用户。

如果您的遥控器是源站,则您位于主分支上,远程分支是第一、第二、第三和第四分支:

如果您的远程分支是源分支,则您位于主分支上,远程分支是第一、第二、第三和第四分支:


你可以单独推送每一个,但是将git推送逻辑放入一个脚本中,然后执行该脚本。你可以单独推送每一个,但是将git推送逻辑放入一个脚本中,然后执行该脚本。这里我只想使用一个本地分支main,这样我就可以使用一个提交命令。我想从这个主分支到所有远程分支。你可能会对我不寻常的进球感到奇怪,但我现在就想要这个。您能帮助我吗?如果您成功地将一个提交推送到四个分支,您通常会放弃其中三个分支的提交。这不是一个好主意,这就是为什么需要武力。不要这样做。这个规则唯一的例外是,如果你想合并所有四个分支,你通常会使用三个git merge命令,或者一个git merge使用八达通合并。由此产生的最终合并将是所有四个分支的快速前进。可以使用显式refspecs和no-force选项在一个命令中推送该参数。但这并不是你在上面展示的,我只想在这里使用一个本地分支main,这样我就可以使用一个commit命令。我想从这个主分支到所有远程分支。你可能会觉得
奇怪我不寻常的目标,但我现在就想要这个。您能帮助我吗?如果您成功地将一个提交推送到四个分支,您通常会放弃其中三个分支的提交。这不是一个好主意,这就是为什么需要武力。不要这样做。这个规则唯一的例外是,如果你想合并所有四个分支,你通常会使用三个git merge命令,或者一个git merge使用八达通合并。由此产生的最终合并将是所有四个分支的快速前进。可以使用显式refspecs和no-force选项在一个命令中推送该参数。但这不是你上面展示的。