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

时间:2019-01-06 10:20:47

标签: python bash git git-commit git-revert

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

8年前,有一个关于区分常规提交和合并提交的问题:

Telling if a Git commit is a Merge/Revert commit

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

我正在寻找GitPython软件包,但在他们的文档中找不到任何有帮助的东西。

任何帮助将不胜感激。

或者,如果已经有一些东西(脚本/库/产品)可以帮助进行git统计(并排除了合并提交和还原提交),我也会接受这样的答案。

2 个答案:

答案 0 :(得分:1)

“还原提交”不是git中的特殊实体。这是一项cli功能,旨在简化回滚以前的提交而无需重写历史记录的情况。

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

答案 1 :(得分:0)

herk2mgl's answer已经指出,还原提交只是普通的提交。
但是,如果您将还原提交消息标准化,则可以通过检查消息中的还原特定文本来识别还原提交。

对于这种方法,您需要确保在您的存储库上工作的每个人仅将典型消息用于还原提交,而不用于“一般”提交。