2011-11-11 43 views
0

我想知道是否有git命令來查看當前工作樹中是否有特定的提交。我有特定承諾的設計。我想知道這個提交是另一個工作樹中另一個用戶所做的提交,或者如果它提交的更新,那麼我的工作樹的當前HEAD。檢查git commit是否在當前工作樹

我想這樣做的原因是,因爲我們有一個Jenkins服務器設置,並且有定期完成的構建,但是我想測試最新的構建以查看它是否與我的HEAD相同,或者它是否是一個較舊的提交,或者如果它是由其他人完成的提交。

回答

2

我認爲,「在目前的工作樹」你必須是「在HEAD的歷史」。

要做到你所描述的測試中,給出的SHA1SUM S,你可以做到以下幾點:

  • 要查看是否S是一樣的HEAD,與git rev-parse --verify HEAD
  • 否則比較git rev-parse --verify S,看如果這是HEAD的歷史承諾,則可以將git merge-base S HEADgit rev-parse --verify S進行比較。如果它們相同,則SHEAD的祖先。
  • 要查看它是否是一個承諾「別人做」,你需要通過比較git show -s --pretty='%an <%ae>' HEADgit show -s --pretty='%an <%ae>' S
到兩次提交,你可以做的作者比較
相關問題