将所有本地分支推送到git中的origin

时间:2014-05-27 14:24:08

标签: git

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

如何用一个命令将所有这些命令推送到原点?

3 个答案:

答案 0 :(得分:51)

你试过吗

git push --all -u 

git man陈述

  

- 全部

     

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

     

-u, - set-upstream

     

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

如果您打算稍后从这些分支中提取

,则-u非常有用

答案 1 :(得分:9)

git push <remote_name> '*:*'

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

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

通常你会git push origin '*:*',你会在遥控器中找到同名的每个本地分支,你可以通过git branch -r确认,它会显示所有的远程分支。

答案 2 :(得分:3)

您可以使用refspec告诉git推送所有分支:

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