2013-02-06 108 views
1

我正在本地项目的主干上工作,需要签出远程分支。我的工作副本内容进行了全面更新,和我运行Git结帐远程分支创建本地修改的文件

git checkout -b RC1 origin/RC1 

之后,我跑

git status 

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

git diff 

我得到:

文件将有原来的行结束在你的工作目录。 警告:在src/private/library/arialunicid0-chinese-> traditional.php中,CRLF将被替换为LF。

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

回答

2

引述git checkout manpage

git checkout <branch>
本地修改在工作树中的文件被保存,以便它们可以被提交到<分支>。

因此不,工作副本在结帐后不会总是干净的;你的文件可能在结帐前被修改,或者你的autocrlf设置为你搞定了一些东西。这是一般较少头疼的关闭EOL转换Git中,而是确保所有开发人员使用它可以处理所有EOLS编辑器 - 并商定一种行结尾(例如Unix风格,LF只)。

+1

啊这是EOL转换由git的,这是问题。我继续实施[该解决方案(http://stackoverflow.com/questions/9933004/best-way-to-disable-git-end-of-line-normalization-crlf-to-lf-across-all-克隆),它的工作。谢谢您的帮助! –

相关问题