今天我尝试跟踪远程分支(特别是Mapbox-ios-sdk的23个标注。
那么,以下三个命令之间的区别是什么:
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”和第三个命令一样吗?
答案 0 :(得分:1)
您可以通过git help checkout
&找到答案。 git help branch
git checkout remotes/origin/23-callouts
尝试签出一个名为' remotes / origin / 23-callouts'的本地分支,所以这不是你想要的
git checkout -b remotes/origin/23-callouts
尝试创建一个名为' remotes / origin / 23-callouts'的新本地分支。基于HEAD。所以这不是你想要的。
git checkout -b 23-callouts remotes/origin/23-callouts
尝试创建一个名为' 23-callouts'基于遥控器分支。所以它是正确的
关于git checkout --track
,它几乎相同,因为你有一个本地分支跟踪与远程分支,唯一的区别是本地分支的名称。
git checkout --track remotes/origin/23-callouts
与第三个命令相同。本地分支名为 23-callouts
通过第三个命令,您可以通过更改-b