我们可以将git命令输出输入到另一个git命令

时间:2016-05-27 12:47:42

标签: git

我的要求是获取文件夹列表,在某个日期之后对文件进行了一些修改。

我试过并得到以下命令,我可以从中得到一些细节:

此命令列出在此日期之后完成的提交(2016-05-26):

git log --date=short --after=2016-05-26 --pretty=format:"%h"

输出:

5761f52
7c589b8
1ee709d

此命令列出在此提交(5761f52)上更改的文件名:

git show --pretty="format:" --name-only 5761f52

输出:

Dummy/Dummy_file.java

有没有办法获取提交组的列表,而不是在每次提交后检查?

2 个答案:

答案 0 :(得分:0)

Mureinik的答案似乎对我有好处。但是如果你不同意,可以在bash命令行中使用循环

for commit in `git log --date=short --after=2016-05-26 --pretty=format:"%h"` 
do 
echo "====== Commit $commit is beeing analyzed ======";
git show --pretty="format:" --name-only $commit;
done

答案 1 :(得分:0)

您也可以将git diff传递给git diff --name-only master@{2016-05-26} 。假设您的参考日志回溯得足够远,您可以使用:

.bat