0

我有一个在 Windows 8 操作系统中开发的 Web 项目(php、javascript),位于 git(bit bucket)存储库中。现在我切换到ubuntu 13.04(双启动)并使用相同的目录进行开发(在lampp的httpd.conf中分配htdocs文件夹)而不是创建新目录。现在我创建了另一个 SSH 密钥,并添加了它。但是,如果我使用“git status”,它表明我必须添加、提交和推送整个项目文件(处于修改状态),尽管不是因为这些文件已经在我从 windows 所做的 git repo 中。我很困惑。任何人都可以请帮助我吗?

4

1 回答 1

2

你会想读这篇文章:https ://help.github.com/articles/dealing-with-line-endings

背景:Windows 使用与 Unix 和 Mac 不同的行结束符。对于跨平台软件开发来说,这一直是悲伤和痛苦的根源。有时,git“修复”行尾。这可以使用上述文章中的说明进行配置。然后 Git 将知道行尾的更改并不意味着文件已更改。

有时,您的 IDE 会注意到“哦,此平台的行尾错误”并修复它们。由于这是在 Git 不知情的情况下发生的,因此它会看到“有人更改了很多文件”。

确定发生了什么的一个好方法是使用强大的 diff 工具,例如kdiff3. 它会告诉您诸如“文本文件除了行尾之外是相同的”之类的信息,或者当您比较文件时,您可以在文件名附近看到行模式 DOS 与 Unix。请参阅这个问题如何配置 Git 以使用 kdiff3:Using kdiff3 to edit diffs with git

于 2013-07-15T15:07:33.737 回答