1

这个问题有点类似于我的另一个问题, 确保文件在更新挂钩中被转换为 CRLF - 是否会影响性能?

所以这就是下面的架构所要寻找的。1. 我的父存储库(裸机和数据)位于 UNIX 机器上。2. 我可以在 UNIX 机器上克隆我的存储库。3. 我可以使用 samba 在 Windows 机器上克隆我的存储库以访问我的父存储库。

如果我如何处理 CRLF 问题

  1. 用户在 UNIX 中创建克隆,使用 samba 将其映射到 Windows 驱动器,修改在 Windows 中完成,创建 CR/LF 字符对作为 EOL。如果用户回到 Unix 并提交和推送。GIT如何照顾?还是我们需要安装一些挂钩?

  2. 与上面相同,但文件格式每行超过 8000 个字符 - 很多。这是否被视为 ASCII 文件,在提交时删除了 CR?

  3. 2 的变体,但它是具有 ASCII 标头的二进制文件。这是否会无意中将 CR/LF 更改为 LF?

4

1 回答 1

0

要看的两个地方是Git-configgit-attributes

您将需要决定您的本地标准,这将取决于您的其他外部程序,特别是公司源代码控制标准,以及任何需要特定格式的工具。

手册页在第一次和第二次阅读时感觉有点混乱。您需要注意神秘的编码,例如“工作目录”表示“签出”文件等。

“默认”是“规范化”,这意味着提交到 repo 的文件将具有 LF 结尾。然后通过正确的设置,您可以将文件签出为 [always] LF 或 [always] CRLF 或根据您的 [local] 平台进行选择。

我不知道排长队,但我希望 git 对它们很满意。

对于带有文本标题等的特殊文件,git 属性文件允许您定义文件类型和路径特定的签入和签出协议(手册页中的示例。

PS我刚刚被Matlab的卡住了*.m eol=LF;-)

于 2011-07-26T19:42:49.463 回答