我正在本地工作的主干上,需要签出一个远程分支。我的工作副本完全是最新的,我运行
git checkout -b RC1 origin/RC1
之后我跑
git status
它告诉我我有大约30个被修改和未标记的文件。我打开一个可视界面来查看文件中的更改,它们是100%相同的。我跑的时候
git diff
我明白了:
该文件的工作目录中将包含其原始行结尾。 警告:CRLF将被src / private / library / arialunicid0-chinese-> traditional.php中的LF替换。
我的问题是为什么所有这些文件都被认为是修改过的?我的分支不应该干净,如果我刚检查出来没有变化吗?
答案 0 :(得分:2)
<强>
git checkout <branch>
强>
保留对工作树中文件的本地修改,以便将它们提交到&lt; branch&gt;。
所以不,结账后工作副本不会一直干净;您的文件可能在结帐前被修改过,或者您的autocrlf设置正在为您搞砸。在Git中关闭EOL转换通常不那么令人头疼,而是确保所有开发人员都使用可以处理所有EOL的编辑器 - 并同意一种行结束(例如unix-style,LF only)。