2013-08-30 21 views
18

以下是我用來簽出特定提交的命令。git克隆和在單個命令中籤出

git clone git://repo.git/repo123 
git checkout <commitID> 

我想一步完成上述操作 - 僅使用git clone命令。

我想這樣做的原因是,repo123非常龐大。所以檢查我想要的提交將爲我節省很多時間。

我知道--depth選項。但在這種情況下,它是沒有用的。誰能告訴我該怎麼做?

+0

'--depth'的問題是什麼? – michas

回答

2

我遇到了同樣的情況,它與Git Clone命令配合使用--depth。並在-b參數的末尾指定分支名稱/提交/標籤名稱。

語法:

git clone --depth 1 github.com:ORG-NAME/Repo.git -b <Branch-Name/Commit-Number/TAG> 
+2

這對於提交SHA1真的有效嗎?我已經用git 2.5.0試了一下,儘管它接受分支名稱和標籤,但它不適用於提交。 – meowsqueak

2

是您的問題結賬是大或本身? 至於git clone,好吧,克隆一個倉庫,你通常會得到整個倉庫的完整大小。 (除非你正在做一個淺克隆,你已經建議)

如果它的的確確是錯誤的分支git help clone的結賬說:

--no-checkout, -n 
     No checkout of HEAD is performed after the clone is complete. 

-n克隆後,您可以手動檢查出

21
git clone u://r/l --branch x 

仍然克隆一切,但將本地HEAD設置爲該分支,因此它是簽出的人。