2013-01-22 108 views
1

每当我从一个不同于上一次提交的计算机提交(同一个帐户,不同的SSH密钥,尽管所有使用Github for Windows),我得到如下结果,其中差异显示整个文件为被重写。多台计算机到GitHub

https://github.com/Yttrium-tYcLief/Scrotter/commit/0c012c51bae0db198a10a5fc73294c2eb04d1ea0

客户端,它不同步在GH新提交的Windows之前显示正确,但一旦提交被同步,客户端(和所有其他客户端)上的不同字段显示整个重写。

有什么办法解决这个问题吗?

+0

但是GitHub的计算机在运行Unix和有GIT中设置自动改变[不同的行结尾(http://en.wikipedia.org/wiki/Newline#Representations)。 – andrewdotn

+0

因此,Github在提交后会与代码混淆?这并不酷。我会回报,看看这是否有效。 – yttrium

+0

此外,为什么仅在使用一台与Github连接的计算机(并使用一个SSH密钥)时不会出现此问题? – yttrium

回答

1

他们都不应该用Unicode结尾保存。

也许你混合概念字符编码行尾

如果您比较文件的两个版本,您会注意到它们都是UTF-8编码,所以没有问题。正如其他人所暗示的那样,问题在于行结尾。一些如何用最后一次提交从Unix LF行结尾切换到Windows行结尾CRLF

我发现使用Unix LF行结束符(即使在Windows机器上)最简单。默认情况下,我的文本编辑器设置为使用LF行结束符。从此,如果您尝试使用CRLF行结尾提交,出于某种原因,git会以git diff的形式显示给您。

crlf