I'm experiencing the same issues as in this question: git status shows modifications, git checkout -- <file> doesn't remove them
Git continues to show working directory modifications, even with git config --global core.autocrlf false
:
E:\_dev\github\Core [master +0 ~93 -0]> git config --get-all core.autocrlf false false
(Note that I've even set the --system
setting to be false
)
Why does it appear that Git is still modifying my end of lines?
E:\_dev\github\Core [master +0 ~93 -0]> git status # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: tools/StatLight/StatLight.EULA.txt ... more changes ... no changes added to commit (use "git add" and/or "git commit -a")
E:\_dev\github\Core [master +0 ~93 -0]> git checkout -- . E:\_dev\github\Core [master +0 ~93 -0]> git status # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: tools/StatLight/StatLight.EULA.txt ... more changes ... no changes added to commit (use "git add" and/or "git commit -a")
Occasionally this will have an effect in an odd way:
E:\_dev\github\Core [master +0 ~628 -0]> git checkout -- . E:\_dev\github\Core [master +0 ~361 -0]> git checkout -- . E:\_dev\github\Core [master +0 ~93 -0]> git checkout -- . E:\_dev\github\Core [master +0 ~93 -0]> git checkout -- . E:\_dev\github\Core [master +0 ~93 -0]> git checkout -- .
E:\_dev\github\Core [master +0 ~93 -0]> git reset --hard HEAD is now at 11a7f9a Merge pull request #8 from RemiBou/master E:\_dev\github\Core [master +0 ~93 -0]>
E:\_dev\github\Core [master +0 ~93 -0]> git add . ... warnings .... warning: CRLF will be replaced by LF in tools/StatLight/StatLight.EULA.txt. The file will have its original line endings in your working directory. E:\_dev\github\Core [master +0 ~93 -0]> git stash Saved working directory and index state WIP on master: 11a7f9a Merge pull request #8 from RemiBou/master HEAD is now at 11a7f9a Merge pull request #8 from RemiBou/master E:\_dev\github\Core [master +0 ~93 -0]> git stash drop Dropped refs/stash@{0} (de4c3c863dbad789aeaf563b4826b3aa41bf11b7) E:\_dev\github\Core [master +0 ~93 -0]> git status .\tools\StatLight\StatLight.EULA.txt # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: tools/StatLight/StatLight.EULA.txt # no changes added to commit (use "git add" and/or "git commit -a")
gitattributes not override core.
Remove every file from Git's index. git rm --cached -r .
autocrlf . This is a similar approach to the attributes mechanism: the idea is that a Windows user will set a Git configuration option core. autocrlf=true and their line endings will be converted to Unix style line endings when they add files to the repository.
autocrlf command is used to change how Git handles line endings. It takes a single argument. On macOS, you simply pass input to the configuration. For example: $ git config --global core.autocrlf input # Configure Git to ensure line endings in files you checkout are correct for macOS.
This seems like a bug in msysgit indeed. As a workaround, try creating a .gitattributes file containing
* -text
This will tell git not to perform EOL conversions on any files.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With