我很难理解一些git / DCVS概念。这是发生的事情:
git checkout master
切换到我的主分支我对DCVS的理解是,我可以随意切换分支,即使某个分支具有比其他分支更多或更少的文件,只要我提交我的文件。我已经尝试使用git commit -a
并切换到master分支,但我有同样的错误。
作为旁注,当我提交git时警告我,LF将被CRLF取代,并警告我一些尾随的空格也是如此;我提交后,我做了一个git status
和一堆文件总是出现#modified ...
。
这与git / windows有关,或者我不正确地理解应该发生什么?我只想切换到我的主分支而不会丢失我在其他分支中的更改。
查找当前分支中未保存的更改时更改分支的git-stash。
你对这应该如何运作的想法是正确的。
但是,听起来git在行结尾时遇到问题,并且它认为所有文件都被修改,即使它们不是。我不在Windows上使用git,但我建议使用“core.autocrlf”选项来使crlf处理工作。但是,以下博客条目表明这可能不是一个好主意:http://weierophinney.net/matthew/archives/191-git-svn-Tip-dont-use-core.autocrlf.html
我解决了问题hacking my pre-commit hook(用.git/hooks/pre-commit
在#
评论这些行):
# if (/\s$/) {
# bad_line("trailing whitespace", $_);
# }
只需在.gitconfig文件中使用以下选项,该文件位于users目录中。
[core] autocrlf = true
它将解决这个问题。