判断 Git 提交是否是还原提交

Telling if Git commit is a revert commit

我想构建一个脚本,从我的存储库中提取简单的统计信息。我想从这些统计信息中排除合并提交和还原提交。

8年前有人问过关于区分regular commit和merge commit的问题:

Telling if a Git commit is a Merge/Revert commit

对于合并提交(即具有多个父项的提交),答案很好,但是对于区分提交是否为还原提交没有令人满意的答案。

我正在查看 GitPython 包,但在他们的文档中找不到任何有用的信息。

如有任何帮助,我们将不胜感激。

或者,如果已经有一些东西(script/library/product)可以帮助 git 统计(并且不包括合并提交和还原提交),我也会接受这样的答案。

A "revert commit" 不是 git 中的特殊实体。这是一个 cli 功能,旨在使回滚以前的提交变得简单而无需重写历史。

这只是一个常规提交,其中包含要还原的提交的还原差异。没有机会自动识别这样的还原提交。

所述,还原提交只是普通提交。
但是,如果您标准化还原提交消息,您将能够通过检查还原特定文本的消息来识别还原提交。

对于这种方法,您需要确保在您的存储库上工作的每个人都使用该典型消息仅用于还原提交,而不用于 'general' 提交。