V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
112582358
V2EX  ›  git

请问下git如何push到两个不同仓库的不同分支呢?

  •  
  •   112582358 · 2014-01-03 00:35:24 +08:00 · 14294 次点击
    这是一个创建于 3989 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的电脑上有一个git版本库,有没有可能是当我push到一个git服务器上面的时候同时也更新到另外一个git服务器?

    如何添加两个不同仓库的不同分支呢?

    比如说:
    github的master,以及gitcafe的cafe-pages
    11 条回复    1970-01-01 08:00:00 +08:00
    yuan
        1
    yuan  
       2014-01-03 01:16:19 +08:00
    acecode
        2
    acecode  
       2014-01-03 05:50:24 +08:00   ❤️ 1
    git remote add github AAAAAA;(如果是clone下来的可以省略)
    git remote add gitcafe BBBBBB;

    git push github master:master;
    git push gitcafe master:cafe-pages;
    112582358
        3
    112582358  
    OP
       2014-01-03 09:15:23 +08:00
    @acecode 感谢,如果需要两次push的话,其实跟分做两个项目也没多大差别把?现在最大的需求就是想一次push到两个仓库的两个分支,我再找找看~嘿嘿
    112582358
        4
    112582358  
    OP
       2014-01-03 09:17:53 +08:00
    @yuan
    [remote "all"]
    url=ssh://user@server/repos/g0.git
    url=ssh://user@server/repos/g1.git

    If you git push all now you push to all the remote urls.

    根据你给的链接,这个方法的结果是一次push到两个不同的仓库的同一个分支把?这个已经实现过了哈,谢谢

    现在的问题就是“一次push”,“不同仓库”的“不同分支”
    112582358
        5
    112582358  
    OP
       2014-01-03 09:27:06 +08:00
    @acecode
    刚刚查阅了一下git的manpage(git push --help),想到一个问题,我们在cd /dir/to/repo到这个目录工作的时候,branch其实是已经确定了,那么要push到不同分支,只能在不同的目录工作,貌似我提的这个需求满足不了。。。难道只能提交到同一个分支吗
    想了一下,您这个方案已经算是步骤的优化了,再次感谢~
    ijse
        6
    ijse  
       2014-01-03 09:39:28 +08:00
    写个Shell脚本不行吗?
    acecode
        7
    acecode  
       2014-01-03 12:12:42 +08:00
    @112582358
    那要不配置个git alias?
    或者加个push相关的hook?
    从一个本地分支是可以推到远程两个不同分支的啊,不过拉回来可能会冲突
    参照@yuan的那个用法,那是不是可以再分别写两个fetch 和pull 配置??[参考Refspec](http://git-scm.com/book/zh/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-The-Refspec)
    112582358
        8
    112582358  
    OP
       2014-01-03 14:57:24 +08:00
    @ijse 比如说?大致是个什么流程呢,commit="xxx",然后cd dir1 ,push,然后cd dir2; push吗?

    这样好没意思的说
    ijse
        9
    ijse  
       2014-01-03 15:02:26 +08:00
    @112582358 参考2L
    binyuJ
        10
    binyuJ  
       2014-01-03 15:39:31 +08:00   ❤️ 1
    $ cat up
    #!/bin/bash

    git commit -am "$1"
    git push github master:master
    git push gitcafe master:cafe-pages

    我自己用的改了一下
    连add commit 都省了,直接./up "something"
    brickgao
        11
    brickgao  
       2014-01-03 16:36:37 +08:00
    用 @acecode 的办法吧
    如果嫌要 push 两次麻烦就加个 hook
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1526 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:11 · PVG 01:11 · LAX 09:11 · JFK 12:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.