是否可以使用例如 sed 工具使 git 状态仅显示文件名,而没有任何路径?代替:
/relative/path/to/file/filename.py
我只是欢迎您
filename.py
我的项目中的路径很长,这使得git status的输出难以理解。
git状态输出示例:
modified: d/da/mvp/view/dialogelement/composite/Tab.py
modified: da/dab/core/api/Messages.py
答案 0 :(得分:2)
使用Bash:
for fname in $(git status --short | cut -d ' ' -f 2); do basename $fname; done
将为您提供预期的输出。但是请注意,目录将显示为文件。
答案 1 :(得分:1)
您可以执行以下操作:
git status | sed 's-\(#\t\+modified: \+\)\(.*/\)\([^/]\+\)-\1.../\3-'
这将替换所有以modified:
开头的文本,以及一堆用.../
包含斜杠的空格,直到最后一个斜杠。路径的前缀,空格和最后一部分将保持不变。
使用-E
或-r
标志,可以用更少的反斜杠实现类似的结果:
git status | sed -E 's-(#\t+modified: +)(.*/)([^/]+)-\1.../\3-'