我正在尝试查看存储库历史记录中的提交,但仅针对具有特定扩展名的文件。
如果这是目录结构:
$ tree
.
├── a.txt
├── b
└── subdir
├── c.txt
└── d
这是完整的历史:
$ git log --name-only --oneline
a166980 4
subdir/d
1a1eec6 3
subdir/c.txt
bc6a027 2
b
f8d4414 1
a.txt
如果我想查看扩展名为.txt的文件的日志:
$ git log --oneline *.txt
f8d4414 1
它仅返回当前目录中的文件,而不返回子目录中的文件。我想在当前目录中包含所有可能的子目录。
我也尝试过:
$ git log --oneline */*.txt
1a1eec6 3
和
$ git log --oneline *.txt */*.txt
1a1eec6 3
f8d4414 1
这适用于这种情况,但对于更一般的情况不适用。
和
$ git log --oneline HEAD -- *.txt
f8d4414 1
没有成功。
答案 0 :(得分:12)
尝试:
git log --oneline -- '*.txt'
--
用于表示仅跟随位置参数。并且'*.txt'
在当前目录中搜索所有文件夹。
或者,您可以通过在子目录中开始搜索来限制结果,例如: -- 'sub/*.txt'
。