来自远程的git checkout分支

时间:2012-01-31 21:53:35

标签: git

我在stackoverflow中搜索了很多,人们说要检查远程分支的方法,你这样做:

git checkout -b test origin/test

-b表示创建一个新分支

我很困惑,为什么我不能这样做:

git checkout test origin/test

我尝试执行此命令,它进入了一个独立状态。

我有这些问题:

  1. 他们之间有什么区别?
  2. 从主线结账时,为什么我不需要“-b”?
  3. 为什么git开发人员以这种方式设计它不是很直观,为什么不只是制作“-b”默认行为?

2 个答案:

答案 0 :(得分:0)

  1. 在第一种情况下,您创建了一个名为test的分支,在第二种情况下,您没有。如果您还没有名为test的分支,其中包含一个名为origin/test的路径,则该命令根本不起作用。
  2. 除非您想创建分支,否则不需要-b。只是检查一个分支不需要你注意到的-b
  3. 我想是一个设计决定。如果你不喜欢它,你可以轻松地制作一个别名或宏来做你想做的事。

答案 1 :(得分:0)

如果存在远程分支origin/test

首先执行git pull origin更新您的遥控器。如果test尚不存在,则应在此命令中看到以下消息

From <project url>
 * [new branch]      test -> origin/test

git checkout test应该足以创建和签出名为test的分支,该分支正在跟踪远程分支origin/test

上述命令的输出是: Branch test set up to track remote branch test from origin. Switched to a new branch 'test'

我的git版本:

$&GT; git --version

git version 1.7.10.2