如何使用' git checkout'命令

时间:2012-12-21 21:32:37

标签: git

我认为下面的命令会检出远程分支名称'branch_name'并为我创建一个名为'branch_name'的本地分支。

'git checkout -b branch_name "`git remote`"/branch_name'

我的问题是

  • 我怎么能运行这个,尽管我已经有了一个分支名称'branch_name',我可以请求git它checkout到branch_name甚至(如果该分支已经存在)?

  • 当我执行'git branch -a'时,我没有看到分支'remote / branch_name',我只看到一个分支'remotes / ser-git / branch_name'。 git如何从'git remtoe'/ branch_name找到正确的删除分支?

1 个答案:

答案 0 :(得分:0)

  

尽管我已经有一个分支名称'branch_name',但我怎么能运行它,   我可以问git它checkout到branch_name甚至(如果那个分支已经   存在)?

使用-B选项代替-b

  

当我'git branch -a'时,我没有看到分支'remote / branch_name',   我只看到一个分支'remotes / ser-git / branch_name'。 git怎么找到   右边从'git remtoe'/ branch_name?

中删除分支

git按以下顺序解析引用名称:

  1. 如果$GIT_DIR/<name>存在,那就是您的意思(这通常仅适用于HEADFETCH_HEADORIG_HEADMERGE_HEAD和{{1 }});
  2. 否则,CHERRY_PICK_HEAD如果存在;
  3. 否则,refs/<name>如果存在;
  4. 否则,refs/tags/<refname>如果存在;
  5. 否则,refs/heads/<name>如果存在; &lt; - 这是您的情况
  6. 否则,refs/remotes/<name>如果存在。
  7. 这意味着如果你有本地分支refs/remotes/<name>/HEAD,那么git将优先选择远程分支。