我有一个不受git控制的文件,我需要为它生成一个补丁。我知道我可以使用diff -Naur file file_new > diff.patch
但它会产生类似的东西:
--- file <timestamp>
+++ file_new <timestamp>
<diff content>
但我希望得到像git diff这样的东西:
--- a/file <timestamp>
+++ b/file <timestamp>
<diff content>
有没有办法生成这种类型的补丁而不使用git diff并手动编辑它?
答案 0 :(得分:1)
好的,我在〜/ .zshrc文件中创建了一个简单的函数来完成它。希望这会对某人有所帮助。
diffgit () {
local dir_a=a/${$(dirname $1)#pwd}
local dir_b=b/${$(dirname $1)#pwd}
mkdir -p ./${dir_a} ./${dir_b}
cp $1 ./${dir_a}
cp $2 ./${dir_b}/$(basename $1)
diff -Naur ${dir_a} ${dir_b}
rm -rf ./{a,b}
}