当我在git中的分支之间切换时,我发现即使没有进行更新,文件也会被更改。这最近刚刚开始发生。
$ git status
# On branch dev
nothing to commit (working directory clean)
$ git checkout master
Switched to branch 'master'
$ 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: App.Core/ViewModels/CriteriaViewModel.cs
# modified: App.Core/ViewModels/UserManagement/AccountTagsViewModel.cs
# modified: App.Core/ViewModels/UserManagement/TagViewModel.cs
#
no changes added to commit (use "git add" and/or "git commit -a")
这些是我在dev分支上更改的文件,但随后又添加并提交了。关于我做什么的任何想法会导致这种情况?
答案 0 :(得分:4)
您可以检查这些“已更改”文件中的eol(行尾)字符是否存在差异。
如果是,请确保将core.autocrlf设置为false:
git config core.autocrlf false
这样可以避免在结帐时自动转换。
有关详情,请参阅“git replacing LF with CRLF”。
如果您需要强制执行一致的eol,请使用.gitattributes
指令,例如“Fixing the line-endings in a Git repository using the .gitattributes
file”。