列出其他人(即不是我)所做的提交?

发布于 2024-09-13 15:35:38 字数 474 浏览 2 评论 0原文

是否有一种标准方法可以列出 git 存储库中其他人(即不是我自己)所做的所有提交?

我尝试了 git log --not --author=username,但似乎 --not 仅适用于修订版。 git log 的联机帮助页似乎没有提供像 --author 这样的反转谓词的方法。

(我在工作中使用 git-svn,并且想要一种方法来查看自上次运行 git svn rebase 以来我的同事发生了什么更改,或者更一般地说,在上次运行 git svn rebase 时发生了哪些更改>X 天。通常我知道我更改了什么,我只想查看哪些文件已被其他人触及/阅读他们的提交日志消息/也许查看有趣的补丁/等等。)

编辑: 细化范围,实际上我对“最近”比“自从上次 git svn rebase”更感兴趣。

Is there a standard way to list all the commits made 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".

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

耳根太软 2024-09-20 15:35:41
git log --perl-regexp --author='^(?!RobM)'

说明:使用 ^ 将正则表达式锚定到字符串的开头;然后使用前瞻 (?!whatever) 来禁止您的名字出现在该位置之后。这样,您甚至可以排除多个作者的提交:

git log --perl-regexp --author='^(?!jack|jill)'
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)'
少女净妖师 2024-09-20 15:35:40

这不是一个真正的解决方案,但就其价值而言,您可以利用 --author 使用正则表达式匹配这一事实来拼凑一些东西。如果你的名字是 Jefromi:

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

这很糟糕,但可能足以满足你的目的。 (如果没有其他人的名字与你的名字开头相同,那么它会更短。)

至于最近,除了使用分支来缩小你的范围(start..end^stop1 ^stop2分支 等),您只需使用 --since= 选项即可。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文