我正在编写一个脚本,需要检查特定提交是否是合并/恢复提交,我想知道是否有 git 技巧。
到目前为止我想到的(我绝对不想依赖这里的提交消息)是检查HASH^2
看看我是否没有收到错误,是否有更好的方法?
判断某个东西是否是合并很容易。这是不止一位父母的所有承诺。要检查这一点,您可以这样做,例如
$ git cat-file -p $commit_id
如果输出中有多个“父”行,则您发现了合并。
对于恢复来说就没那么容易了。通常,恢复只是正常提交,恰好相反地应用先前提交的差异,从而有效地删除提交引入的更改。其他没有什么特别的。
如果使用创建还原git revert $commit
,然后 git 通常会生成一条提交消息,指示恢复以及恢复的提交。但是,很可能以其他方式进行恢复,或者仅更改由以下方式生成的提交的提交消息git revert
.
寻找那些生成的恢复提交消息对于您想要实现的目标来说可能已经是一个足够好的启发了。如果没有,您必须实际查看其他提交,比较它们之间的差异,查找一个提交与另一个提交的操作完全相反。但即使这样也不是一个好的解决方案。通常,足够的恢复与它们要恢复的提交的相反略有不同,例如,为了适应提交和恢复之间发生的代码更改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)