0

今天我尝试跟踪一个远程分支(特别是 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”与第三个命令是一样的吗?

4

1 回答 1

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”的新本地分支。所以是正确的

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

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

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

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

于 2012-11-02T02:36:34.287 回答