例如,在git diff
diff --git a/commands.txt b/commands.txt
index 79e881a..a9588e5 100644
--- a/commands.txt
+++ b/commands.txt
@@ -1,3 +1,7 @@
+this is an example
+abcxyz
+helllo
+wooo
makeFilePermissionExecutable
makeOwnedByMyself
makeFilePermissionEverything
是否可以隐藏以下内容:
diff --git a/commands.txt b/commands.txt
index 79e881a..a9588e5 100644
--- a/commands.txt
+++ b/commands.txt
而只是显示文件名(在本例中为commands.txt)而不是?
答案 0 :(得分:3)
git diff | tail -n +5
将生成您想要的输出。
我们将git diff
的输出导入tail -n +5
以开始第5行的输出。请参阅man
的{{1}}页面:
tail -n
如果您希望将 -n, --lines=[+]NUM
output the last NUM lines, instead of the last 10; or use -n
+NUM to output starting with line NUM
和--- a/commands.txt
合并为一行,则必须执行一些额外的正则表达式工作。
答案 1 :(得分:3)
git diff etc \
| sed '/^diff /,/^@@/ {
H;/^@@/!d;z;x
s".*\n--- a/\([^\n]*.\)+++ b/\1"==> File: \1"
}
'
这是“在^diff
和^@@
开始的块中累积所有行,如果文件不是新的,则重新格式化标题”。
答案 2 :(得分:2)
我找到了一个解决方法:
在PATH中访问以下文件:
<强> customGitDiff 强>
#!/usr/bin/env bash
echo "$(tput setaf 4) $1"
echo -n "$(tput setaf 4)"
printf "%$(tput cols)s"|tr ' ' '-'
diff -u "$1" "$2" | tail -n +3 | colordiff
echo ""
然后你可以指示git使用以下脚本作为你的diff工具。可以通过在~/.gitconfig
中设置以下内容进行全局设置:
[diff]
external = customGitDiff
一个可能不幸的限制是,我不确定它是否使用与git diff相同的diff算法。