在git中更改分支会导致更改文件

时间:2014-03-19 14:43:16

标签: git branch

当我在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分支上更改的文件,但随后又添加并提交了。关于我做什么的任何想法会导致这种情况?

1 个答案:

答案 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”。