关闭
星空
  • 我不去想是否能够成功
    既然选择了远方 便只顾风雨兼程

    我不去想能否赢得爱情
    既然钟情于玫瑰 就勇敢地吐露真诚

    我不去想身后会不会袭来寒风冷雨
    既然目标是地平线 留给世界的只能是背影

  • 偶尔还是要出去走一走,才知道躺床上多么舒服。

    首页
  • 文章
  • git如何一个命令提交代码到多个代码仓库
我有一个梦想,只是有一个梦想。

git如何一个命令提交代码到多个代码仓库

有时候会因为各种我们需要把代码同步到多个版本库,比如国内的一般会有两个代码仓库,一个是github,一个是gitee。有时候我们还会用到阿里云和腾讯云的代码库。如果我们用git remote add的命令我们将会添加四个代码仓库。比如我们先添加github:

git remote add github https://github.com/test/test.git 

然后依次添加gitee,aliyun, 

git remote add gitee https://gitee.com/test/test.git 

 git remote add ali https://code.aliyun.com/test/test.git

git remote add tencent https://git.code.tencent.com/test/test.git 

如果我们本地做了一次修改,然后同步到远端可能需要git push github/gitee/ali/tencent执行四次,很浪费时间。

有没有什么方法可以一个命令就同步所有的代码呢? 答案是有的! 

方案1: 

遍历分支,然后一个一个推送,使用--all推送本地所有的分支。

 git remote | xargs -L1 git push --all 

如果你只想推送一个分支,那么就把--all替换为master(或者你的分支名) 

 git remote | xargs -L1 -I R git push R master 

你也可以使用git别名,重写上面的命令 

 git config --global alias.pushall '!git remote | xargs -L1 git push --all' 

以后运行 git pushall 就可以实现推送所有的分支到不同的远端代码库了

 方案2: 

创建一个all的远程分支,然后添加不同的仓库地址:

 git remote add all https://github.com/test/test.git 

git remote set-url --add all https://gitee.com/test/test.git 

git remote add all https://xxx.com/test/test.git 

然后使用git push all --all就行了 

综合而言,感觉方案2更友好

标签git

最新评论