我正在尝试使用以下命令在本地和远程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
...
似乎这些文件没有变化。 如何从差异中删除此类文件?
答案 0 :(得分:0)
似乎过时的msys git版本中的错误。更新到最新修复了问题。
答案 1 :(得分:0)
请注意,相同的git diff --ignore-space-at-eol可能会出现相反的错误:在没有变化的地方显示没有变化:
commit 044fb19见commit a5229cc,Johannes 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
"