git diff --仅名称,没有文件路径

标签 git git-diff

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

因此,从字面上看,该命令所说的“仅名称” - 不是文件路径,只是文件名。

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

最佳答案

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


不过,您可以使用一个小脚本。 basename 是你的 friend 。

我喜欢 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

关于git diff --仅名称,没有文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26280268/

相关文章:

更新到 macOS Sierra 后,git 无法在钥匙串(keychain)中找到证书

git - 为什么 Jenkins 的 Git 插件用额外的斜杠重写我的本地 git repo url?

Git push origin master 返回 "fatal: No path specified."

git - 比较多个文件时,我可以中止 git difftool 吗?

git - 在沙盒模式的 DSL 中调用 PathRestriction

git - 如何grep git diff?

git - 在 GUI 中探索 git-diff 输出?

git diff 给出模棱两可的参数错误

git - GitHub 如何形成 pull 请求

git diff 不在存储库中的文件与存储库中的文件