如何用当前git分支名作为文件名,将git diff结果导出为diff文件?
你之前的写法失败是因为Shell单引号会完全保留内部字符的字面含义,不会执行$()标识的命令替换逻辑,所以你写的$(git branch --show-current)会被直接当成文件名的一部分。
直接使用双引号包裹路径就可以实现需求:
git diff trunk.. > ".git/diffs/$(git branch --show-current).diff"
补充说明
- 如果你确认当前分支名不包含空格、特殊符号,也可以省略双引号,直接写:
git diff trunk.. > .git/diffs/$(git branch --show-current).diff - 保留双引号兼容性更好,可以适配包含特殊字符的分支名场景,避免生成错误的文件名。
内容的提问来源于stack exchange,提问作者Mattias Thalén
相关产品推荐
相关产品推荐

