Git diff显示没有变化的文件

时间:2013-11-02 06:25:32

标签: windows git

我正在尝试使用以下命令在本地和远程git分支之间进行区分:

git diff --ignore-space-at-eol -b -w --minimal remotes/branch/master > diff.patch

除了我在补丁文件输出中看到的所有内容都没问题,例如

diff --git a/src/game/AccountMgr.cpp b/src/game/AccountMgr.cpp
index a271c8a..6f363c6 100644
--- a/src/game/AccountMgr.cpp
+++ b/src/game/AccountMgr.cpp
diff --git a/src/game/AccountMgr.h b/src/game/AccountMgr.h
index d406496..405fa32 100644
--- a/src/game/AccountMgr.h
+++ b/src/game/AccountMgr.h
...

似乎这些文件没有变化。 如何从差异中删除此类文件?

2 个答案:

答案 0 :(得分:0)

似乎过时的msys git版本中的错误。更新到最新修复了问题。

答案 1 :(得分:0)

请注意,相同的git diff --ignore-space-at-eol可能会出现相反的错误:在没有变化的地方显示没有变化:

commit 044fb19commit a5229ccJohannes Schindelin (dscho)(2016年7月9日) (由Junio C Hamano -- gitster --合并于commit f2cfb8f,2016年7月25日)

git version
git version 2.9.2.windows.1

printf "a\nb\nc\n" >pre
printf "a\nbX\nc\n" >post
git diff --no-index --patience --ignore-space-at-eol pre post
(empty!?)

Git 2.10 +(2016年第3季度)将解决这个问题:

  

diff:使用--ignore-space-at-eol

修复双重问题      

当比较两行时,忽略最后的任何空格,我们首先尝试匹配尽可能多的字节,并且仅在不匹配时突破循环,让剩余部分由与另一行共享的代码处理{{ 1}}代码路径。

     

然而,在比较字节时,我们总是增加计数器,   即使字节不匹配。
  而且因为那时我们处理whitespace-ignoring处理,就好像这种不匹配从未发生过。

请参阅" xdiff/xutils.c"