特定修订版本下字符串和文件之间的Git差异

3

能否计算一个版本文件(在特定 SHA 时刻)与未来可能的内容(以字符串形式存储)之间的差异?

例如,像这样:

$ git diff -- file.txt@SHA "Future\ncontent\nof\nfile.txt"


Future\ncontent\nof\nfile.txt 只是你文件系统上的一个文件吗? - Arkadiusz Drabczyk
不,只是内存中的字符串。 - fbiville
1个回答

2

您可以使用git diff比较不同版本的文件:

git diff SHA -- file.txt

或者您可以使用 diffgit diff --no-index 比较非版本化的文件:

git diff --no-index file1.txt file2.txt

使用<() bashism,您可以将未版本化的文件与字符串进行比较:

diff file.txt <(echo -e "Future\ncontent\nof\nfile.txt")

但不能同时进行。也就是说,你不能将一个版本控制的文件与字符串进行差异比较, 但可以以相同的方式提取版本控制的文件:

diff <(git cat-file -p $SHA:file.txt) <(echo -e "Future\ncontent\nof\nfile.txt")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接