git diff --name-only,没有文件路径

时间:2014-10-09 13:53:21

标签: git git-diff

如何执行以下命令获取没有路径的文件名?

从字面上看,命令所说的是什么,"仅限姓名" - 不是文件路径,只是文件名。

git diff --name-only <commit> <commit>

1 个答案:

答案 0 :(得分:1)

AFAIK这不是由git提供的,因为这是一个非常不寻常的要求。例如,我在我的存储库中的第一次尝试产生了大约十几行,每一行都说pom.xml,因为我刚创建了一个新版本。


您可以使用小脚本。 basename是你的朋友。

我喜欢xargs所以我会这样做

git diff --name-only <commit> <commit> | xargs -n1 basename

如果git diff没有提供输出,则会失败。

或者是循环版

for s in `git diff --name-only <commit> <commit>` ; do basename $s ; done