今天,我尝试跟踪一个远程分支(特别是Mapbox-ios-sdk的23-callout。
那么,下面三个命令有什么区别:
git checkout remotes/origin/23-callouts
git checkout -b remotes/origin/23-callouts
git checkout -b 23-callouts remotes/origin/23-callouts
第一个命令给我一个"(no branch)“。我的第二个命令实际上是我在第三个命令的预期位置犯了一个错误,我很惊讶它会通过,而我不知道那里发生了什么。第三个命令会给出所谓的“远程跟踪分支”,但这与第二个或第一个有什么不同呢?我也看过"git checkout --track“,这和第三个命令是一样的吗?
发布于 2012-11-02 10:36:34
你可以通过git help checkout & git help branch找到答案
git checkout remotes/origin/23-callouts尝试签出名为‘remotes/origin/23-callout’的本地分支,所以这不是您想要的
git checkout -b remotes/origin/23-callouts尝试在HEAD上创建一个名为‘remotes/origin/23-callout’的新本地分支。所以这也不是你想要的。
git checkout -b 23-callouts remotes/origin/23-callouts尝试在远程分支的基础上创建名为‘23-callout’的新本地分支。所以它是正确的
关于git checkout --track,这几乎是相同的,因为你有一个本地分支跟踪与远程分支,唯一的区别是本地分支的名称。
git checkout --track remotes/origin/23-callouts与第三个命令相同。本地分支的名称为23-callouts.
通过第三个命令,您可以通过更改-b后的参数来更改本地分支的名称
https://stackoverflow.com/questions/13188382
复制相似问题