题 将所有本地分支推送到git中的原点[重复]


这个问题在这里已有答案:

假设我的git中有很多本地分支没有被推到远程存储库中。

如何用一个命令将它们全部推送到原点?


17
2018-05-27 14:24


起源




答案:


你有没有尝试过

git push --all -u 

那个男人说

- 所有

而不是命名每个引用推送,指定refs / heads /下的所有引用被推送。

-u, - set-upstream

对于每个最新或成功推送的分支,添加上游(跟踪)参考,

-u 如果您打算稍后从这些分支中提取,则非常有用


37
2018-05-27 14:33



$ git push origin --all 也为我工作 - user3405291


git push <remote_name> '*:*'

该命令很直观,因为它指定了 :。左边的那个 : 表示本地分支的名称,右侧的表示远程分支。在您的情况下,我们希望使用相同的名称进行映射,从而映射命令。

*:* 告诉git你想在远程使用相同的名称将每个本地分支推送到远程。因此,如果您有一个名为的分支 my_branch 你将有一个名为的远程分支 <remote_name>/my_branch

通常你会这样做 git push origin '*:*' 并且您会在遥控器中找到具有相同名称的每个本地分支,您可以通过该分支进行确认 git branch -r 这将显示所有远程分支。


8
2018-05-27 14:31





你可以用一个 的Refspec 告诉git推送你所有的分支:

git push origin 'refs/heads/*:refs/heads/*'

3
2018-05-27 14:29