Git:查找特定用户在特定文件中的最后编辑记录

5

我有一个项目,使用git进行源代码控制。

现在我想找出我的队友最后一次编辑特定文件的时间。我想要找到提交的SHA1或查看他所做的更改差异。

我猜我可以使用git log --stat <path/to/file>命令,并查看所有更改了该文件的提交列表。

是否有更快捷的方法?

3个回答

9

您可以使用带有路径规范和--author选项的git log

git log --author=your_teammate -- path/to/file

哇,我忘记了查看git help log。谢谢。git log --author=your_teammate -- path/to/file -n 1就可以了 :) - Konstantin

3
是的!你可以使用 git blame。
git blame <file>

每一行文件都会显示最后编辑的人。

如果你有一个成千上万行的文件,这是一种非常乏味的方式来弄清楚作者想要什么。 - Andy
实际上,如果我的队友的编辑在以后的提交中被另一个作者覆盖,git blame 将无法帮助我。 - Konstantin
@Konstantin:看起来你的问题并不是在问你在 OP 中描述的内容 :p - TheOneTeam

2

我会使用以下命令行:
git log --format="%H--%ad-%an" fileName

如果你只需要最新的一次更改,可以使用以下命令:
git log --format="%H--%ad-%an" -n 1 fileName

如果你只需要某个特定作者的更改记录,请通过grep筛选:
git log --format="%H--%ad-%an" fileName | grep "Author Name"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接