Git - 根据提交ID

时间:2016-06-14 15:56:35

标签: git merge timestamp gerrit

我正在尝试获取特定提交合并到master时的时间戳。

当我执行git log时,它会显示作者时间戳,即首次创建提交时的时间戳。

我还可以看到提交者时间戳,即上次更新提交时的时间戳。但是,当提交合并到主服务器时,我没有看到时间戳。 (这与基于代码审查的提交者时间戳或在最后一次提交之后可能发生的任何其他延迟不同)。

git甚至可以将合并时间戳存储在任何地方,还是不可能?

我的尝试:

我尝试使用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

无法实际合并提交的时间。

1 个答案:

答案 0 :(得分: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