我正在与其他一些人合作编辑一些 CSV 文件,这些文件存储在 Github 的存储库中。我们有使用 Windows、OS X 和 Linux 的协作者,因此为了处理行尾和本地 Git 设置的差异,我添加了一个 .gitattributes 文件,其中包含以下内容:
* text=auto
人们使用 Excel 编辑这些 CSV 文件,然后保存并提交。有时在提交时文件似乎根本没有行尾;行以回车符 (\r) 结束。然后 Github 将这些文件视为一大行,并认为整个文件已被删除并替换为一大行。这是此类提交的示例:
https://github.com/weecology/neonetods/commit/7e10cb2913ca2e214c49944b4856519cab9bad96
如果您要签出该文件,您会看到每一行都以 \r 结尾。在 Mac 和 Windows 上简单地在 Excel 中编辑和保存文件后,现在有两个人发生了这种情况。
这会导致不应该发生冲突的冲突,并使跟踪每个文件的出处变得困难。有谁知道这是怎么发生的或者我们如何解决它?