2014-10-28 144 views
1

我想在完成特定提交之前簽出git存儲庫分支的版本。只是想知道語法。git簽出特定提交前的版本

我知道如何使用以下語法檢出一個名爲「開發」(而不是主)分支:

git remote add -t develop -f origin https://github.com/xy/xy.git 

只是想知道我怎麼可以檢出這一點,但前一個具體的承諾做一個幾個星期前。

回答

0

克隆存儲庫後,運行git log並找到要簽出的提交的提交哈希。你只需要前6個字符,所以它會像a93fh67。從那裏運行

git checkout {hash} 

其中{hash}是您找到的提交哈希。這將使您處於DETACHED HEAD狀態,您可以在其中查看代碼。如果您要進行更改,籤使用

git checkout -b MyNewBranchName 
+1

我覺得OP是要求特定提交的*父*,這通常會做到用一個新的分支''^,如'abcd123 ^'。對於合併提交,列出所有父母使用'git show abcd123^@'之類的東西可能會很有用。 – Chris 2014-10-28 15:59:45

+0

我做了一個遠程添加,而不是克隆 - 但我沒有看到區別。然後當我跑git的日誌 - 我得到了以下錯誤:「致命的:錯誤的默認版本'頭'」 – 2014-10-28 16:04:32

+0

@Chris你是正確的。我假設他會檢查日誌並發現作爲「特定提交」的父代的提交,但他可以找到「特定提交」並使用'^'語法。 – 2014-10-28 16:06:16