我在我的 Mac 上使用虚拟机运行 ubuntu 12 VM。我在我的 Mac 上的共享文件夹中克隆了一个 git repo。从那个文件夹中,在我的 ubuntu VM 中,我正在创建一个 intellij 项目。麻烦的是,当我创建该项目时,它会将所有文件标记为已更改而内容没有变化(可能是由于不同的行尾)。如何避免这种情况?我在我的 mac 和 ubuntu vm autocrlf = input 的 .gitconfig 中有这个配置。
有人可以提出解决方案吗?
我在我的 Mac 上使用虚拟机运行 ubuntu 12 VM。我在我的 Mac 上的共享文件夹中克隆了一个 git repo。从那个文件夹中,在我的 ubuntu VM 中,我正在创建一个 intellij 项目。麻烦的是,当我创建该项目时,它会将所有文件标记为已更改而内容没有变化(可能是由于不同的行尾)。如何避免这种情况?我在我的 mac 和 ubuntu vm autocrlf = input 的 .gitconfig 中有这个配置。
有人可以提出解决方案吗?
Check that you are using git on host machine and then try to set core.autocrlf to false:
git config --global core.autocrlf false
Reset all 'changes' to head with:
git reset --hard HEAD
Also check that your git has disabled handling for filemode changes
git config --list
Should be
core.filemode=false
If not, then set it with:
git config --global core.filemode false
最简单的方法是取消该设置:
git config --auto auto.crlf false
(在你的 Mac 上)
如果您的 IDE(此处为 IntelliJ)不更改行尾,则无需强制更改所有文件的全局设置。
如果某些文件必须保留特定的行结尾,请core.eol
在文件中使用指令.gitattributes
(这不是本地配置,而是您的 repo 的文件部分,因此,作为其他文件推送和拉取)。