Git和大量的空白问题

时间:2010-06-24 14:08:48

标签: git

我在我工作场所的Windows上的CVS存储库中本地使用cygwin-git,以便至少获得dvcs的一些优势。我的问题是git diff几乎显示了diff中的整个文件。它通常是这样的:

+ source code line...
- source code line...

(额外的加号和减号因为SO正在将单个加号/减号转换为子弹点)

如果我执行git diff --ignore-all-space,我可以看到相关的更改代码,但提交不必要地大,因为它包含所有更改。

在CVS中使用git repo背后的整个想法是,做原型工作会更容易,然后我可以选择性地合并到CVS中。但是如果每一行都出现在差异中,则选择性合并是不可能的。请帮忙!

P.S 我已经阅读了SO上的其他一些空白线程,并且我将core.whitespace设置为-trailing-space并将core.autocrlf设置为true。但是,设置似乎没有任何区别。


要进一步详细说明问题,git diff --ignore-all-space如何忽略这个问题?我可以做什么设置,以便git commit可以做同样的事情?非常感谢帮助!

1 个答案:

答案 0 :(得分:1)

修好了。问题是CVS和git使用了不同的eol标准化。因此,git-diff显示出如此多的变化。修复是在根目录中有一个.gitattributes文件,其条目如下:

* text=auto

来自git-attributes页面:

  

如果你想与a互操作   源代码管理系统   强制执行行尾规范化,或   你只想要你的所有文本文件   存储库要规范化,你   应该改为设置text属性   所有文件的“自动”。