2016-06-14 104 views
1

我想獲得特定提交合併到主時間的時間戳。Git - 獲取基於提交ID的合併時間戳

當我做git log時,它顯示了作者的時間戳,即第一次創建提交時的時間戳。

我也可以看到提交者時間戳,即上次更新提交時的時間戳。但是當提交合併到主服務器上時,我看不到時間戳。 (這與基於代碼評論的提交者時間戳或上次提交後可能發生的任何其他延遲不同)。

是否git甚至在任何地方存儲merge-timestamp或者它不可能?

我嘗試:

我嘗試使用git show <commitid> --stat但這也只顯示作者的時間戳。

其次,我沒有git log --format=fuller這個報名如下:

Author:  abc 
AuthorDate: Mon Jun 13 12:27:59 2016 -0500 
Commit:  abc 
CommitDate: Mon Jun 13 14:32:21 2016 -0500 

時提交的痕跡沒有真正合並。

+0

@PetSerAl你爲什麼要包括'--all' ?這個問題只是要求知道它何時合併爲主。另外,'--topo-order'似乎無關緊要,因爲'--ancestry-path'無論如何都只會顯示一行血統。最後,'--reverse'與'-n 1'組合時將不起作用,因爲反轉僅在結果集限制爲1之後應用。 –

回答

1

做一個別名(隨意使用自己的別名):

git config --global alias.merge-commit '!f(){ for r in $(git rev-list ${2:-HEAD} --first-parent); do ! git merge-base --is-ancestor $1 $r && git rev-list --first-parent $r..${2:-HEAD} --reverse | head -1 | git log --stdin -1 ${*:3} && break; done; }; f' 

實例應用:(默認爲HEAD)

git merge-commit commit 
git merge-commit commit another-branch 
git merge-commit commit another-branch --format=fuller