我怀疑我的分支上可能有一个提交,在主分支的分支点之后,它是空的。我想找到这个提交(或者不止一个?(并查看它的提交消息
现在,我当然可以逐一检查来自分支点的所有提交,并检查它们是否为空。我可能甚至可以写一个shell脚本,它会回顾提交的数量并继续执行
git diff HEAD^{n+1} HEAD^^^^...lots of ^{n}
检查输出行的数量,并使用它来获得提交ID。但是,我希望有任何一种方法可以更好地实现自动化。我知道有一个git filter-branch
命令可以删除空提交,但我首先想知道我是否有,以及它们在哪里。此外,我不想一直回到最初的提交。
您可以使用:
git log --stat
对于每个提交列表,它将为您提供一行,例如:
7 files changed, 55 insertions(+), 75 deletions(-)
则可以搜索CCD_ 2。现在,这还不是完全自动化,但既然你说你想看看这些提交是什么,那是一个很好的方法
你也可以使用类似的东西
sed -r '/^commit [a-z]{8,}/,/^[1-9] files changed/d'
在日志输出中,删除带有更改的提交的条目。(注意:尚未测试此sed命令。(