与 Mac 和 Windows 同时使用的 Git 会产生不必要的冲突

Ram*_*tra 2 git cygwin github git-bash

我有一个 git repo,我通常通过我的 mac 笔记本电脑处理它。我之前也在我的 Windows 笔记本电脑上克隆了 repo(使用git bashcygwin),一切都很好,但是今天当我拿了一个时,虽然我的 Windows 笔记本电脑没有本地更改,但git pull我得到了几个merge conflicts

我认为可能是 mac 中的文件夹使用/(正斜杠)和 windows 中的文件夹\(反斜杠),但我不确定。

谁能告诉我为什么会发生这种情况以及如何解决这个问题?

sen*_*ran 5

在来自不同操作系统的同一存储库上工作时,您应该在存储库级别定义适当的行尾,或者如果您是唯一的用户,请配置您的 Git 客户端以在需要时进行行尾转换。此处(Github)此处(Git 官方文档)的示例。

您最有可能应该做的是在 Windows 上配置 CR+LF 结帐

git config --global core.autocrlf true
Run Code Online (Sandbox Code Playgroud)

并强制 LF 在 Mac 上提交。

git config --global core.autocrlf input
Run Code Online (Sandbox Code Playgroud)

处理每次合并时的空白差异很快就会变得烦人和麻烦。