开发者

List commits made by others (i.e. not me)?

开发者 https://www.devze.com 2023-01-11 10:35 出处:网络
Is there a standard way to list all the commits mad开发者_高级运维e by others (i.e. not myself) in a git repository?

Is there a standard way to list all the commits mad开发者_高级运维e by others (i.e. not myself) in a git repository?

I tried git log --not --author=username, but it would appear that --not only applies to revisions. The manpage for git log doesn't appear to offer a way to invert predicates like --author.

(I use git-svn at work, and want a way to see what my colleagues have changed since I last ran git svn rebase, or more generally in the last X days. Generally I know what I changed, I just want to see which files have been touched by others / read their commit log messages / maybe review interesting patches / etc.)

Edit: Refined scope, I'm actually more interested in "recently" than "since last git svn rebase".


This isn't a real solution, but for what it's worth, you could kludge something using the fact that --author uses a regex match. If your name were, say, Jefromi:

git log --author='^[^J]\|J[^e]\|Je[^f]' # and so on

It's pretty crappy, but it might be good enough for your purposes. (And it's shorter if no one else's name starts with the same letters as yours.)

As for recently, besides using branches to narrow your range (start..end, ^stop1 ^stop2 branch, etc.), you can just use the --since=<date> option.


git log --perl-regexp --author='^(?!RobM)'

Explanation: anchor the regexp to the beginning of the string with ^; then use look-ahead (?!whatever) to forbid your name coming up after that position. This way, you can even exclude commits by several authors:

git log --perl-regexp --author='^(?!jack|jill)'
0

上一篇:

:下一篇

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号