Git Diff显示已删除的未更改文件(带“ - ”)

时间:2011-03-23 13:23:27

标签: git diff

在git存储库下的文件中。我只添加了一些代码。当我执行git diff时,它会以“ - ”显示文件的所有旧版本,然后用“+”显示文件的整个新版本。

例如。

print "hello"
print "stack overflow" #new added code
print "world"

使用git diff显示为

-print "hello"
-print "world"
+print "hello"
+print "stack overflow" #new added code
+print "world"

而非预期

print "hello"
+print "stack overflow" #new added code
print "world"

这也导致了reitveld代码审核工具的问题。 我做错了什么或错过了git配置。

更新:Eclipse自动格式化了文件,空格进行了折腾,因此差异如上所述。仍然有一种方法可以避免这种情况。有什么事吗?

3 个答案:

答案 0 :(得分:3)

检查不可见的空格或不同的行结尾(CR vs CR/LF vs LF,具体取决于您用来创建或修改文件的平台和编辑器。

答案 1 :(得分:2)

可能是文件以unix模式(\ n)保存但以windows模式(\ r \ n)保存,因此导致文件中的所有行都标记为已更改。确保以存储的模式保存文件。

答案 2 :(得分:1)

尝试使用:

git diff --ignore-space-at-eol

忽略行结尾。如果这是您的问题,遗憾的是,当您不使用上述标志时,您的提交仍将是您所看到的。