为什么Git diff of 2 versions of single file 是空的?
Why Git diff of 2 versions of a single file is empty?
我正在尝试查找文件的两个版本之间的 git 差异。 我不想使用 SHA。
我已经尝试了十几种变体,diff 是空的。我不是在寻找与工作文件或暂存文件的差异。我编辑了输出中的路径,因此该行无需换行即可适合。
我正在使用 posh-git powershell。
文件存在的证据如下:
ls src/G01/P001_MultiplesOf3And5.java
Directory: U:\dev\workspace\ProjectEuler\src\G01
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 5/24/2015 7:38 AM 1612 P001_MultiplesOf3And5.java
这是我正在尝试做的事情:
U: git diff HEAD~1..HEAD src/G01/P001_MultiplesOf3And5.java
U: git diff HEAD~1..HEAD -- src/G01/P001_MultiplesOf3And5.java
U:
我读到这应该有效:git diff $start_commit..$end_commit -- path/to/file
你可以看到 diff 是空的。有什么想法吗?
您需要找到确实包含给定文件的最后两个提交。
这些可能不是 HEAD
或 HEAD~
。如果 yourFile
在 HEAD
和 HEAD~
中没有变化,那么 git diff
returns 什么都没有。
完整的命令是:
git diff $(git log -n2 --pretty=format:%H -- yourFile | awk '{print }' | tac) -- yourFile
有:
git log -n2 --pretty=format:%H -- yourFile
:将获得最后 2 次提交
awk '{print }'
:确保每行打印一个
tac
:反转顺序(最旧的提交,然后是最新的)
git diff $(...) -- yourFile
:使用相关提交 SHA1 对 yourFile
进行比较。
git diff HEAD~1..HEAD
HEAD~1..HEAD
指定单个提交:HEAD
。 Lose the dots.
我正在尝试查找文件的两个版本之间的 git 差异。 我不想使用 SHA。
我已经尝试了十几种变体,diff 是空的。我不是在寻找与工作文件或暂存文件的差异。我编辑了输出中的路径,因此该行无需换行即可适合。
我正在使用 posh-git powershell。
文件存在的证据如下:
ls src/G01/P001_MultiplesOf3And5.java
Directory: U:\dev\workspace\ProjectEuler\src\G01
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 5/24/2015 7:38 AM 1612 P001_MultiplesOf3And5.java
这是我正在尝试做的事情:
U: git diff HEAD~1..HEAD src/G01/P001_MultiplesOf3And5.java
U: git diff HEAD~1..HEAD -- src/G01/P001_MultiplesOf3And5.java
U:
我读到这应该有效:git diff $start_commit..$end_commit -- path/to/file
你可以看到 diff 是空的。有什么想法吗?
您需要找到确实包含给定文件的最后两个提交。
这些可能不是 HEAD
或 HEAD~
。如果 yourFile
在 HEAD
和 HEAD~
中没有变化,那么 git diff
returns 什么都没有。
完整的命令是:
git diff $(git log -n2 --pretty=format:%H -- yourFile | awk '{print }' | tac) -- yourFile
有:
git log -n2 --pretty=format:%H -- yourFile
:将获得最后 2 次提交awk '{print }'
:确保每行打印一个tac
:反转顺序(最旧的提交,然后是最新的)git diff $(...) -- yourFile
:使用相关提交 SHA1 对yourFile
进行比较。
git diff HEAD~1..HEAD
HEAD~1..HEAD
指定单个提交:HEAD
。 Lose the dots.