Git and IntelliJ lines separator issue
While installing git, we will have option to set the
checkout as-is and commit as-is.
If that is not set, we can do with the git config.
Following command helps you in doing so.
git config --global core.autocrlf true
As per documentation:
Git can handle this by auto-converting CRLF line endings into LF when you add a file to the index, and vice versa when it checks out code onto your filesystem. You can turn on this functionality with the core.autocrlf setting. If you’re on a Windows machine, set it to true – this converts LF endings into
IDEA delegates changes resolution to git.
So you would have to either force desired line breaks in IDEA or to force desired line breaks in git.
In my case
autocrlf true was already present on my PC but the working copy was initially copied from collegue's share where it had been checked out with another setting.
A clean checkout would resolve the problem but I had some files already changed and wanted to preserve them. This can be worked around by resetting git index for the whole project or just desired subdirectory.
At the opposite, if you have an issue with files getting back (while changing branch for example) to CRLF even after changing IntelliJ settings to "Line Separator : LF". Then set "git config --global core.autocrlf false".
I had this issue constantly while working on windows but with a repo that is configured for a Linux machine.