2014-12-19 107 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

相關問題