|
|
跑龙套的红烧肉 · 2021年度山东大学优秀共产党员——哲学与社 ...· 4 月前 · |
|
|
微笑的海龟 · 世纪凝望 逐梦星河 ...· 5 月前 · |
|
|
玩滑板的野马 · 印度高温天气持续 ...· 1 年前 · |
|
|
慷慨大方的柚子 · 当一支球队成为“德国公敌”,莱比锡红牛究竟干 ...· 1 年前 · |
|
|
安静的春卷 · 南北方过小年有五种版本-宁夏新闻网· 1 年前 · |
在执行
git diff --stat
时,某些文件会列出存储库基础的完整路径,但有些文件会列出如下所示:
.../short/path/to/filename.
也就是说,路径以
...
开头,并且只显示短路径。
我想
git diff
列出的所有文件的完整文件路径,以便它可以很容易地由脚本处理。是否有什么方法可以让
git diff
始终显示完整路径
我发现diff --stat的行为在git 1.7.10前后的某个地方发生了变化,以前它会将文件路径缩短到默认的固定宽度-它现在可以显示你的终端窗口允许的尽可能多的内容。如果您遇到此问题,请确保升级到1.8.0或更高版本。
对于Bash用户,您可以使用
$COLUMNS
变量自动填充可用的终端宽度:
git diff --stat=$COLUMNS
很长的路径名可能仍然会被截断;在这种情况下,您可以使用
--stat-graph-width
减少+/-部分的宽度,例如,这会将其限制为终端宽度的1/5:
git show --stat=$COLUMNS --stat-graph-width=$(($COLUMNS/5))
对于更通用的解决方案,您可以使用
tput cols
的输出来确定终端宽度。
对于脚本处理,最好使用以下方法之一:
# list just the file names
git diff --name-only
path/to/modified/file
path/to/renamed/file
# list the names and change statuses:
git diff --name-status
M path/to/modified/file
R100 path/to/existing/file path/to/renamed/file
|
|
安静的春卷 · 南北方过小年有五种版本-宁夏新闻网 1 年前 |