我在我工作场所的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可以做同样的事情?非常感谢帮助!
答案 0 :(得分:1)
修好了。问题是CVS和git使用了不同的eol标准化。因此,git-diff显示出如此多的变化。修复是在根目录中有一个.gitattributes文件,其条目如下:
* text=auto
来自git-attributes页面:
如果你想与a互操作 源代码管理系统 强制执行行尾规范化,或 你只想要你的所有文本文件 存储库要规范化,你 应该改为设置text属性 所有文件的“自动”。