【问题标题】:Can not create a local and remote branch (tracking) at the same time不能同时创建本地和远程分支(跟踪)
【发布时间】:2013-06-12 19:29:17
【问题描述】:

来自Pro Git

如果您愿意,您可以设置其他跟踪分支——那些不 跟踪 origin 上的分支,不要跟踪 master 分支。简单的 case 就是你刚才看到的例子,运行 git checkout -b [branch] [远程名称]/[分支]

$ git checkout --track origin/serverfix 分支 serverfix 设置为 跟踪远程分支 refs/remotes/origin/serverfix。换了一个新的 分支“服务器修复”

$ git checkout -b sf origin/serverfix 分支 sf 设置跟踪 远程分支 refs/remotes/origin/serverfix。换了一个新的 分支“sf”

我的理解是,这提供了一种创建本地分支和上游分支的方法。

但是当我这样做时:

git checkout -b iss53 origin/iss53我得到:
fatal: Cannot update paths and switch to branch 'iss53' at the same time.

当我这样做时:
git checkout --track origin/iss53 我得到:

致命:无法更新路径并同时切换到分支“iss53” 时间。您是否打算结帐'origin/iss53' 不能 解决为提交?

为什么?

【问题讨论】:

    标签: git version-control git-branch git-remote


    【解决方案1】:
    Cannot update paths and switch to branch
    

    正如我在“Get new upstream branch with git”中提到的,你可以试试:

    # let's create a new local branch first
    git checkout -b iss53
    # then reset its starting point
    git reset --hard origin/iss53 
    

    确保remote tracking branch origin/iss53 确实首先存在(在git fetch origin 之后)

    origin/iss53 表示origin 引用的upstream 远程仓库中有一个iss53

    如果没有这样的分支,那么你只创建一个本地分支iss53,然后像这样推送:

    git push -u origin iss53 
    

    这将在本地分支iss53 和远程跟踪分支origin/iss53 之间建立关联(在origin 上跟踪新创建的分支iss53,由推送创建)。

    有关初始推送的更多信息,请参阅“Why do I need to explicitly push a new branch?”。

    【讨论】:

    • 但是我首先要如何创建origin/iss53
    • 在参考答案 (stackoverflow.com/questions/15730551/…) 中从“上游”而不是“来源”获取的提示是我所缺少的。
    • 当我去 git reset --hard upstream/origin 我得到:致命:不明确的参数'upstream/master':未知修订或路径不在工作树中 这是在我 git fetch upstream master
    • @sureshvv 你能提出一个关于你的回购配置细节的新问题吗?
    • @VonC:我的意思是说 git reset --hard upstream/master。
    【解决方案2】:

    似乎您还没有获取该提交。所以,首先做:

    git fetch origin
    

    然后:

    git checkout --track origin/iss53
    

    【讨论】:

      【解决方案3】:

      FWIW 为其他人提供相同的错误消息:当这发生在我身上时,根本问题是我试图创建一个名称中带有空格的分支。对于我拥有的一组预置 GIT 命令,带有空格的分支是个问题。

      (ObDisclaimer:我离 git 专家非常非常远。我只知道我遇到了相同错误消息的问题,并且解决方案与接受的答案不同)

      【讨论】:

        猜你喜欢
        • 2013-04-30
        • 2016-04-04
        • 1970-01-01
        • 2019-02-16
        • 2019-08-14
        • 1970-01-01
        • 2016-09-12
        • 2011-07-27
        • 2010-09-27
        相关资源
        最近更新 更多