Git - 显示 HEAD 和初始(第一个)版本之间的文件差异

vat*_*sug 2 git diff

假设某个存储库在某个时刻创建了一个文件test.txt并将其与一些数据一起提交到存储库。该文件可能不存在于存储库的初始提交中。

接下来,许多提交都会对此文件进行更改。现在,我想生成显示文件的初始(第一个)版本与当前 ( )diff版本之间差异的输出。我该怎么做呢?test.txtHEAD

编辑:问题更改为注意到该文件可能不存在于初始提交中。

sou*_*odd 5

test.txt首先,获取其中第一个提交的哈希值。

git log --oneline --diff-filter=A -- text.txt
Run Code Online (Sandbox Code Playgroud)

然后,将哈希值与 进行比较HEAD。(确保HEAD首先拉动电流。)

git diff [hash from previous command] text.txt
Run Code Online (Sandbox Code Playgroud)

这两个命令可以组合在一起

git diff `git log --oneline --diff-filter=A -- text.txt | awk '{print $1}'` HEAD text.txt
Run Code Online (Sandbox Code Playgroud)

  • @PatrickSteele 抱歉。没有看到包含方便的 oneliner 的编辑。谢谢你!我接受这个答案。 (2认同)