【问题标题】:Git remote branchGit远程分支
【发布时间】:2012-10-22 16:59:16
【问题描述】:

今天我尝试跟踪一个远程分支(特别是 Mapbox-ios-sdk 的 23-callouts。

那么,下面三个命令有什么区别:

git checkout remotes/origin/23-callouts

git checkout -b remotes/origin/23-callouts

git checkout -b 23-callouts remotes/origin/23-callouts

第一个命令给了我一个“(无分支)”。我的第二个命令实际上是我在第三个命令的意图处犯的一个错误,我很惊讶它通过了,我不知道那里发生了什么。第三个命令会给我所谓的“远程跟踪分支”,但这与第二个或第一个有什么不同?我也看过“git checkout --track”和第三条命令一样吗?

【问题讨论】:

    标签: git git-remote


    【解决方案1】:

    您可以通过git help checkout & git help branch找到答案

    git checkout remotes/origin/23-callouts
    

    尝试检查一个名为“remotes/origin/23-callouts”的本地分支,所以这不是你想要的

    git checkout -b remotes/origin/23-callouts
    

    尝试基于 HEAD 创建一个名为“remotes/origin/23-callouts”的新本地分支。所以这不是你想要的。

    git checkout -b 23-callouts remotes/origin/23-callouts
    

    尝试在远程分支的基础上创建一个名为“23-callouts”的新本地分支。所以是正确的

    关于git checkout --track,几乎是一样的,因为你有一个本地分支跟踪和远程一个,唯一的区别是本地分支的名称。

    git checkout --track remotes/origin/23-callouts
    

    与第三条命令相同。本地分支被命名为 23-callouts

    通过第三个命令,你可以通过更改-b后面的参数来更改本地分支的名称

    【讨论】:

    • 那么对于前2个命令,虽然名字是“remotes/origin/23-callouts”,但是和remote没有关系?
    猜你喜欢
    • 2012-03-21
    • 2013-11-21
    • 2014-03-17
    • 2015-10-31
    • 2014-04-27
    • 1970-01-01
    相关资源
    最近更新 更多