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

git 如何将本地分支和远程不同名分支关联起来???

  •  
  •   Wangxf · 2015-09-17 17:42:25 +08:00 · 7718 次点击
    这是一个创建于 3148 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如本地分支是 A,远程分支是 B,但是我使用 git push origin B 的时候出现了以下文字:
    error: src refspec B does not match any.
    error: failed to push some refs to 远程 Git 地址
    我知道本地远程分支名都是 A 的话不会有这个问题,小伙伴们遇到过么?

    12 条回复    2015-09-17 18:50:35 +08:00
    nicktogo
        1
    nicktogo  
       2015-09-17 17:44:49 +08:00 via Android
    push -u
    or
    A:B
    nicktogo
        2
    nicktogo  
       2015-09-17 17:47:22 +08:00 via Android
    @nicktogo 后一种错了,抱歉 HEAD :B
    hantsy
        3
    hantsy  
       2015-09-17 18:04:28 +08:00
    git push origin A:B

    用 小乌龟之类的可视化工具可以直接设置了。
    shmilyin
        4
    shmilyin  
       2015-09-17 18:11:56 +08:00
    和删除远程分支原理一样吧 git push origin :B //把空分支 push 上去
    git push origin A:B 就是把 Apush 到 B 上。不过这样有个问题就是 push 之后 A 跟踪的时 B 分支了,如果要继续跟踪 A 分支,还要重新设置回来 麻烦。不如重新在本地建个 B 分支 push 上去
    magicdawn
        5
    magicdawn  
       2015-09-17 18:17:33 +08:00
    git checkout -b local_branch remote/other_branch

    可能可以
    Wangxf
        6
    Wangxf  
    OP
       2015-09-17 18:21:37 +08:00
    @hantsy 这个可以,但是每次输入 A:B 很麻烦啊,如何将他们关联,以后直接 git push origin B 就行了?还有
    Wangxf
        7
    Wangxf  
    OP
       2015-09-17 18:22:30 +08:00
    @nicktogo 第二个可以,第一个不行
    RR6116
        8
    RR6116  
       2015-09-17 18:23:41 +08:00
    试试这个
    git branch --set-upstream A origin/B
    Wangxf
        9
    Wangxf  
    OP
       2015-09-17 18:24:49 +08:00
    @shmilyin 嗯,远程没有 A 分支了,远程只有 B ,而本地只有 A 分支
    Wangxf
        10
    Wangxf  
    OP
       2015-09-17 18:25:11 +08:00
    @RR6116 这个不行啊
    hantsy
        11
    hantsy  
       2015-09-17 18:27:02 +08:00
    @Wangxf 好像不需要每次输入吧,,,第一次之后, GIT 会自动设置的,效果应该和 @RR6116 一样。
    nicktogo
        12
    nicktogo  
       2015-09-17 18:50:35 +08:00 via Android
    抱歉,是我的错了,应该是 git push -u origin HAED:B ,这样可以推到远程 B 分支上,同时设置为当前分支 A 的上游分支,这样之后如果想直接 git push ,好像 git2.0 版本要额外设置一下,记不清了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2544 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:58 · PVG 20:58 · LAX 05:58 · JFK 08:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.