4

在我们的开发环境中,我们使用 Windows、Mac 和 Linux。commit -> pull -> push我在工作流程方面遇到了麻烦。

问题是行尾字符。如果有人在 Mac 上进行编辑,而其他人在 Windows 上进行编辑,他们在拉取时会发生冲突。diff 将整个文件显示为不同,因为行尾发生了变化。

所以我的问题是如何设置所有环境以在提交时将所有行尾转换为 LF。并且拉的时候,不要改变行尾,保持为LF。

4

1 回答 1

6

您要求的是每个人都将配置参数设置core.autocrlfinput,这将导致输入的行结束规范化(即,数据进入存储库;提交)而不是输出(数据来自存储库;签出,这发生在拉动期间)。

但是,您可能实际上并不想这样做。理想的情况是每个人都只需正确配置他们的编辑器。大多数程序员的编辑器对此相当聪明——他们会检测行尾并在回写文件时使用相同的行尾。一些编辑可能需要一点帮助。

(参见例如 VonC's answer here和其他关于 autocrlf 的 SO 问题。)

于 2010-10-21T00:31:40.783 回答