[英]What is the difference between git clone and checkout?
git clone
和git checkout
什么區別?
結帳手冊: http : //git-scm.com/docs/git-checkout
克隆的手冊頁: http : //git-scm.com/docs/git-clone
總而言之,clone用於獲取您沒有的存儲庫,checkout用於在您已有的存儲庫中的分支之間進行切換。
注意:對於那些具有SVN / CVS背景且不熟悉Git的人來說,SVN / CVS中的git clone
相當於checkout
。 不同術語的相同措辭通常令人困惑。
git clone是從遠程git服務器獲取您的存儲庫。
git checkout是檢查您所需的存儲庫狀態(如分支或特定文件)。
例如,您當前在主分支上,並且您想要切換到開發分支。
git checkout develop_branch
例如,您想要簽出特定文件的特定狀態
git checkout commit_point_A -- <filename>
這里有一個很好的參考 ,你可以學習Git,讓你更容易理解。
有一點需要注意的是git中缺少任何“Copyout”。 那是因為您已在本地倉庫中擁有完整副本 - 您的本地倉庫是您所選上游倉庫的clone
。 因此,您可以有效地對所有內容進行個人checkout
,而無需對引用倉庫中的這些文件進行“鎖定”。
Git提供SHA1哈希值作為驗證文件/目錄樹/ commit / repo的副本與能夠在信任層次結構中將事物聲明為“主”的人所使用的完全相同的機制。 這避免了導致大多數SCM系統窒息的所有“鎖定”(通常存在私有副本,大合並以及沒有實際控制或源代碼管理的問題;-)!
簡單的git checkout有2個用途
git checkout <existing_local_branch_name>
類的現有本地分支之間切換 git checkout -b <new_feature_branch_name>
將創建一個包含master內容的新分支並切換到新創建的分支 您可以在官方網站上找到更多選項
checkout
可以用於很多情況:
第一種情況 :在本地存儲庫中的分支之間切換例如: git checkout exists_branch_to_switch
您也可以使用-b
創建新分支並切換到這種情況
git checkout -b new_branch_to_switch
第二種情況 :從x rev恢復文件
git checkout rev file_to_restore
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.