是否有一种标准方法可以列出其他人(即非我自己)在git存储库中提交的所有提交内容?
我尝试了git log --not --author=username
,但似乎--not
仅适用于修订。 git log
的联机帮助页似乎无法提供反转--author
等谓词的方法。
(我在工作中使用git-svn
,想要了解自上次运行git svn rebase
后我的同事发生了哪些变化,或者更常见的是在过去X
天。知道我改变了什么,我只是想看看其他人触摸了哪些文件/阅读他们的提交日志消息/可能会查看有趣的补丁/等。)
编辑: 精炼范围,我实际上对“最近”比“自上次git svn rebase
”更感兴趣。
答案 0 :(得分:5)
这不是一个真正的解决方案,但是对于它的价值,你可以使用--author
使用正则表达式匹配的事实来解决问题。如果你的名字是Jefromi:
git log --author='^[^J]\|J[^e]\|Je[^f]' # and so on
这很糟糕,但它可能足以满足您的目的。 (如果没有其他人的名字以与你的相同的字母开头,它会更短。)
最近,除了使用分支缩小范围(start..end
,^stop1 ^stop2 branch
等)之外,您还可以使用--since=<date>
选项。
答案 1 :(得分:2)
git log --perl-regexp --author='^(?!RobM)'
说明:使用^
将正则表达式锚定到字符串的开头;然后使用前瞻(?!whatever)
禁止在该位置之后出现你的名字。这样,您甚至可以排除多位作者的提交:
git log --perl-regexp --author='^(?!jack|jill)'