2014-12-19 51 views
0

git checkout <remote>/<branch> vs git checkout <branch>有什么区别?您什么时候需要使用git checkout <remote>/<branch>git结帐<remote>/<branch> vs git结帐<branch>有什么区别?

+1

相关/可能重复http://stackoverflow.com/questions/25670173/why-does-git-tell-me-not-currently-on-any-branch-after-i-run-git -checkout-ori – Jubobs

+0

'git结帐/'几乎从来没有你想要做的 –

回答

2

git checkout <remote>/<branch>将检出git rev-parse refs/remotes/<remote>/<branch>解决的提交,并使您处于“分离的HEAD”状态。

git checkout <branch>将检查给予当地分公司,或根据您的配置,可能会自动创建一个名为<branch>已设置跟踪<remote>/<branch>你本地分支,然后签出的本地分支。它不会让你处于“分离HEAD”状态,而是在本地分支上(除非它由于某种原因失败,就像你配置了不自动创建分支并且命名分支不存在一样)。

3

关键要了解的是,远程分支是正常分支,名称为<remote>/<branch>。它们只是指向提交的引用(标签)。主要的区别是你不能承诺。

你为什么要检查一个远程分支?要检查项目上游的状态,也许要尝试构建它。否则,你不会。

有用于引用远程分支的用途......

  • git diff remote/branch看看你的分支和远程之间的差异。
  • git log remote/branch..HEAD查看与远程的变化。
  • git branch -f branch remote/branch抛出您所有的本地更改。
+0

谢谢,很好的信息。 – Boon

相关问题