2011-09-04 559 views

回答

223

結賬手冊頁:http://git-scm.com/docs/git-checkout

用於克隆手冊頁:http://git-scm.com/docs/git-clone

概括起來講,克隆是爲獲取你沒有倉庫,結算是在分支機構之間進行切換您已擁有的存儲庫。

注意:對於那些擁有SVN/CVS背景且Git新手的人,SVN/CVS中git clone的等效值爲checkout。不同術語的相同措辭經常令人困惑。

+33

'checkout'也可以用於其他事情,比如在工作副本中使用該文件的版本覆蓋文件來自另一次修訂。 – svick

+5

你什麼時候使用「拉」與「結賬」? – Kokodoko

+18

pull是一個讀取加合併,checkout是一個本地操作,只對已經獲取的數據進行操作。所以它不像svn checkout。 –

105

git clone是從遠程git服務器獲取你的倉庫。

git checkout將檢查您的存儲庫的所需狀態(如分支機構或特定文件)。

例如,您目前在主分支上,並且想要切換到開發分支。

git checkout develop_branch 

例如,要檢出特定文件

git checkout commit_point_A -- <filename> 

這裏的特殊地位是good reference你學習的Git,讓您瞭解更容易。

+17

「from the remote git server」 - 服務器不需要遠程。 'git clone'也適用於本地回購。 – SET

+1

感謝您對git的視覺引用的鏈接! –

+0

@Kit Ho:該鏈接作爲參考很好,但對於像上面這個人那樣有基本問題的人來說幫助不大。正如文章本身所說,「一旦你瞭解了git的工作原理,這個網站可能會鞏固你的理解」 –

10

有一點需要注意的是git中缺少任何「拷貝」。這是因爲您的本地回購已有完整副本 - 您當地的回購是您選擇的上游回購的clone。所以你有一個個人checkout的一切,而不是在參考回購的那些文件上放一些'鎖'。

Git提供了SHA1哈希值作爲驗證您擁有文件/目錄樹/ commit/repo副本的機制,它與任何能夠將內容聲明爲「Master」的人所使用的機制完全相同信任等級。這樣可以避免導致大多數SCM系統窒息的所有「鎖」(通常存在私有副本,大合併以及無法真正控制或管理源代碼的問題;-)!

+4

這個問題沒有提到鎖,它應該被默認假設爲在這些日子裏一個人不熟悉這個的概念,所以這些與舊VCS的區別只有在明確詢問時才能解釋。 – wRAR

2

簡單的git檢出有2個使用像git checkout <existing_local_branch_name>

  • 現有的本地分支之間

    1. 交換創建一個從當前分支使用標誌-b一個新的分支。假設,如果你在主分支,然後git checkout -b <new_feature_branch_name>將創建主內容的新分支,然後切換到新創建分支

    您可以在official site

  • +0

    不錯。這個'-b'選項非常好用,它創建一個新的本地分支並在單個命令中同時檢查它。愛它! – RBT

    相關問題