2017-01-04 75 views
2

假設我想從一個URL克隆大混帳回購協議,當且僅當一個提交作出最後n(比方說24)小時內掌握。我不想克隆它,因爲這樣的大回購相當耗時,我也不想克隆一次,然後檢查git狀態定期。查詢最後一次提交的git倉庫沒有克隆

我想知道克隆前最後一次提交的時間。有沒有辦法在git中做到這一點?如果不是,我有什麼選擇?我知道我可以通過git ls-remote

回答

4

得到最後一次提交的哈希值。一個選項可以繼續並克隆回購,但只有深度爲1.這應該使得下載速度非常快。

然後,您可以檢查主時間戳的提示。

實施例:

git clone --depth 1 https://github.com/jquery/jquery.git jquery 

參見this文章獲取更多信息。

的Git支持「淺克隆」,這是描述與 歷史上的克隆操作中截斷成特定深度本地存儲庫的更簡潔 有意義的方式的概念。通過 向clone命令提供參數--depth 1,進程 將只複製存儲庫中所有內容的最新版本。

-

另一種選擇,如果你的目標回購是在GitHub上,是使用GitHub的REST API是這樣的:

GET /repos/:owner/:repo/commits/:sha 

然後,您可以解析爲提交的時間戳響應。

更多信息:https://developer.github.com/v3/repos/commits/#get-a-single-commit