让我们说我的git中有很多本地分支没有被推到远程存储库中。
如何用一个命令将所有这些命令推送到原点?
答案 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/*'