我很难理解一些git / DCVS的概念。 以下是发生的事情:
git checkout master
切换到我的主分支 我对DCVS的理解是,只要我提交了我的文件,即使某些分支文件比其他文件多或less,也可以随意切换分支。 我试着提交git commit -a
并切换到主分支,但我有同样的错误。
作为一个侧面说明,当我提交git警告我LF将被CRLF取代,并警告我一些尾随的空格; 在我提交后,我做了一个git status
,一堆文件总是显示为#modified ...
这是相关的混帐/ 窗户 ,或者我不明白它应该发生什么? 我只想切换到我的主分支, 而不会丢失其他分支中的更改 。
你在思考如何工作时是正确的。
但是,这听起来像git是有问题的行尾,它认为所有的文件都修改,即使它们不是。 我不在Windows上使用git,但是我会建议使用“core.autocrlf”选项来使crlf处理工作。 但是,以下博客条目表明这可能不是一个好主意: http : //weierophinney.net/matthew/archives/191-git-svn-Tip-dont-use-core.autocrlf.html
我解决了黑客攻击我的预提交钩子 (在.git/hooks/pre-commit
中用#
注释这些行)的问题:
# if (/\s$/) { # bad_line("trailing whitespace", $_); # }
查找git-stash用于在当前分支中存在未保存更改的情况下更改分支。
只需在位于用户目录中的.gitconfig文件中使用以下选项即可。
[core] autocrlf = true
这将解决这个问题。