git log -p .
仅在当前目录中,但不在子目录中
相等的
svn log --diff --depth files .
可能吗?
git log -p .
仅在当前目录中,但不在子目录中
相等的
svn log --diff --depth files .
可能吗?
怎么样:
$ git log -p file1 file2 ...
或者,如果它们太多而无法输入:
$ find . -maxdepth 1 -type f | xargs git log -p
在 Linux 等上,您可以仅列出当前目录中的文件:
ls -p | grep -v /
所以:
git log -p `ls -p | grep -v /`
是一种方法。
像这样的东西会起作用:
git log --all --pretty=format: --name-only --relative="$(git rev-parse --show-prefix)" -- . | sed '/\//d ; /^[[:space:]]*$/d' | sort | uniq | xargs git log -p --
--relative
删除不在此目录中的文件,并从文件名中删除子目录前缀。git log -p
. 是必需的--
,否则它将不知道如何处理已删除的文件。这似乎是完成任务的一种低效方式,但我认为 git 没有“每个文件”的概念,它只有当前的文件集和差异列表。因此,您必须遍历每个更改集才能获得完整列表。