查找文件类型的所有git提交

查找文件类型的所有git提交,git,posh-git,Git,Posh Git,查找包含特定文件的所有提交非常简单 git log -- .\Database\Tables\sometable.sql 但是有没有一种简单的方法可以找到一个文件类型的所有提交(递归地向下子目录?),或者我需要编写一个脚本来完成这项工作 (概念上……) 似乎您只需要转义*,这样它就不会被命令行扩展。看起来你在Windows上,所以。。。但我是在Linux上进行测试的: git init mkdir -p blue/red/green touch blue/red/green/colors gi

查找包含特定文件的所有提交非常简单

git log -- .\Database\Tables\sometable.sql
但是有没有一种简单的方法可以找到一个文件类型的所有提交(递归地向下子目录?),或者我需要编写一个脚本来完成这项工作

(概念上……)


似乎您只需要转义
*
,这样它就不会被命令行扩展。看起来你在Windows上,所以。。。但我是在Linux上进行测试的:

git init
mkdir -p blue/red/green
touch blue/red/green/colors
git add blue/red/green/colors
git commit -m "colors and dirs"
touch blackAndWhite
git add blackAndWhite
git commit -m 'b&w'
git log -- \*ors
最后一个
git日志上的结果是:

commit 8fdb718b5b616dd495c00eb7a6d123c33f7707e5
Author: <snipped>
Date:   Sun Oct 14 19:49:43 2012 -0400

    colors and dirs
提交8FDB718B5B616DD495C00EB7A6D123C33F77707E5
作者:
日期:星期日10月14日19:49:43 2012-0400
颜色和颜色

*
的窗口转义上。。。也许可以用单引号或双引号引起来?如果我发现了一些问题,我会添加。

我想查看存储库中所有用户的所有贡献(按类型)。我发现了一个Ruby包,可以实现这一点,
git-fame
()。如果您键入
git fame--按类型
它将输出如下内容:


刚意识到我的Windows笔记本电脑上有Git,这是我工作时用的。。。在Git bash窗口中,我上面的“脚本”工作正常。也许您使用``作为路径分隔符只是一个失误?或者你有一些其他的Windows Git客户端,而不是我?是的,使用posh Git(powershell)好的,所以从bash提示符来看,它确实可以按照我的要求工作。一定是像你建议的那样的powershell。如果你能想出如何在powershell中转义
*
,这样它就不会扩展它,那么它也应该在那里工作。我注意到,如果通配符与当前目录(LinuxBash或GitBash)中的任何内容都不匹配,那么它们确实会被传递到
GitLog
,这就是它们的作用。只有当通配符确实匹配某些内容时,才真正需要转义。恼人的是,我不知道如何在PS中转义*,但至少我可以从bash中执行我需要的操作,现在必须这样做…除非有人知道如何转义*
commit 8fdb718b5b616dd495c00eb7a6d123c33f7707e5
Author: <snipped>
Date:   Sun Oct 14 19:49:43 2012 -0400

    colors and dirs