PhpStorm + GIT line endings changing from LF to CRLF

Marcin Nabiałek picture Marcin Nabiałek · Jan 1, 2015 · Viewed 10.6k times · Source

I have set in my PhpStorm line endings to LF but when I commit to github, sometimes I see some of the files again appear with CRLF line ending (I work on Windows).

It happens with the same files I've edited and nobody edited them between my commits/pushes to repository. It's very irritating and I need to often change line endings to the same file. What could it be and how to fix it?

I also have checked option "Warn if CRLF line separators are about to be commited"

EDIT

My local git config is this:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
[remote "origin"]
    url = https://github.com/*
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "develop"]
    remote = origin
    merge = refs/heads/develop

My global config is this:

[user]
    name = *
    email = *
[core]
    autocrlf = false

My systemwide config is this:

[core]
    symlinks = false
    autocrlf = false
[color]
    diff = auto
    status = auto
    branch = auto
    interactive = true
[pack]
    packSizeLimit = 2g
[help]
    format = html
[http]
    sslCAinfo = /bin/curl-ca-bundle.crt
[sendemail]
    smtpserver = /bin/msmtp.exe

[diff "astextplain"]
    textconv = astextplain
[rebase]
    autosquash = true

And my GIT settings in PhpStorm:

My Git Settings in PhpStorm

Answer

Marcin Nabiałek picture Marcin Nabiałek · Oct 18, 2015

After tests it was obviously not PhpStorm issue but GIT config issue.

It seems that on Windows it's necessary to set:

git config --global core.autocrlf input

but also

git config --global core.eol lf

to make it work.