Git checkout远程分支创建本地修改的文件

时间:2013-02-06 19:38:45

标签: git version-control

我正在本地工作的主干上,需要签出一个远程分支。我的工作副本完全是最新的,我运行

git checkout -b RC1 origin/RC1

之后我跑

git status

它告诉我我有大约30个被修改和未标记的文件。我打开一个可视界面来查看文件中的更改,它们是100%相同的。我跑的时候

git diff

我明白了:

  

该文件的工作目录中将包含其原始行结尾。   警告:CRLF将被src / private / library / arialunicid0-chinese-> traditional.php中的LF替换。

我的问题是为什么所有这些文件都被认为是修改过的?我的分支不应该干净,如果我刚检查出来没有变化吗?

1 个答案:

答案 0 :(得分:2)

引用git checkout manpage

  

<强> git checkout <branch>
  保留对工作树中文件的本地修改,以便将它们提交到&lt; branch&gt;。

所以不,结账后工作副本不会一直干净;您的文件可能在结帐前被修改过,或者您的autocrlf设置正在为您搞砸。在Git中关闭EOL转换通常不那么令人头疼,而是确保所有开发人员都使用可以处理所有EOL的编辑器 - 并同意一种行结束(例如unix-style,LF only)。