A 文件全绿
B 文件前面小部分绿
我把 Win 下 clone 仓库得到的文件覆盖 Mac 下 GitHub 客户端同步的仓库后,出现这些差异。我试着用 Sublime 和 Notepad 把编码都改成 UTF-8 ,还是没通过检测,到底是哪里导致的差异呢?
1
lianz 2016-03-13 01:45:16 +08:00
换行问题
|
2
lianz 2016-03-13 01:49:31 +08:00 1
换行问题,已确认。
$ xxd Mac/GithubRepoWidget.js |head 0000000: 2f2a 210a 0947 6974 4875 622d 5265 706f /*!..GitHub-Repo 0000010: 2d57 6964 6765 742e 6a73 202d 204e 6f74 -Widget.js - Not 0000020: 2064 6570 656e 6420 6f6e 206a 5175 6572 depend on jQuer 0000030: 7920 6f72 204f 7468 6572 2046 7261 6d65 y or Other Frame 0000040: 776f 726b 2e0a 094c 6963 656e 7365 3a20 work...License: 0000050: 204d 4954 0a2a 2f0a 2866 756e 6374 696f MIT.*/.(functio 0000060: 6e28 2920 7b0a 0976 6172 2072 656e 6465 n() {..var rende 0000070: 7265 6420 3d20 2767 6974 6875 622d 7769 red = 'github-wi 0000080: 6467 6574 2d72 656e 6465 7265 6427 2c0a dget-rendered',. 0000090: 0909 6373 7353 7472 203d 2027 2e70 6174 ..cssStr = '.pat $ xxd Win/GithubRepoWidget.js |head 0000000: 2f2a 210d 0a09 4769 7448 7562 2d52 6570 /*!...GitHub-Rep 0000010: 6f2d 5769 6467 6574 2e6a 7320 2d20 4e6f o-Widget.js - No 0000020: 7420 6465 7065 6e64 206f 6e20 6a51 7565 t depend on jQue 0000030: 7279 206f 7220 4f74 6865 7220 4672 616d ry or Other Fram 0000040: 6577 6f72 6b2e 0d0a 094c 6963 656e 7365 ework....License 0000050: 3a20 204d 4954 0d0a 2a2f 0d0a 2866 756e : MIT..*/..(fun 0000060: 6374 696f 6e28 2920 7b0d 0a09 7661 7220 ction() {...var 0000070: 7265 6e64 6572 6564 203d 2027 6769 7468 rendered = 'gith 0000080: 7562 2d77 6964 6765 742d 7265 6e64 6572 ub-widget-render 0000090: 6564 272c 0d0a 0909 6373 7353 7472 203d ed',....cssStr = |
3
Strikeactor 2016-03-13 01:52:15 +08:00
Beyond Compare 的比较结果反正是一毛一样 |
4
7654 2016-03-13 03:43:40 +08:00
档案格式问题, MAC 下是 UNIX 格式, Win 下是 Dos\Windows
也就是换行符差异,用 notepad++的档案格式转换转成同一种格式 |
5
yyfearth 2016-03-13 03:54:05 +08:00 via iPhone
很明显换行符的问题
全部统一成 \n 就可以了 因为 Win 下 默认 \r\n |
6
jsfaint 2016-03-13 07:47:50 +08:00 via Android
windows 版的 git 在安装时有一个选项,问你怎么处理换行符,估计楼主选的默认……其实应该选第三个 commit as chechout as 啥的那个
|
7
caixiexin 2016-03-13 08:18:26 +08:00 via Android
Windows git 的第一大坑。就是每次 commit 的时候偷偷把\r
\n 换成\n pull 的时候把 |
8
caixiexin 2016-03-13 08:25:54 +08:00 via Android 4
Windows git 的第一大坑。
就是每次 commit 的时候偷偷把\r\n 换成\n pull 的时候把\n 变成\r\n 这些在 win 下会自动完成,这个配置最好改回来,不然后患无穷 http://blog.jobbole.com/46200/ |
9
ynyounuo 2016-03-13 08:44:13 +08:00
CRLF / LF
|
14
GhostFlying 2016-03-13 12:46:19 +08:00 via Android
其实默认坑到人概率也不高,关键在于不要跨系统复制 repo 。。要走 push pull
|
15
SpicyCat 2016-03-14 11:54:53 +08:00
@GhostFlying 这是正解。如果一直走 git 流程的话,也不会坑,就是怕直接跨平台复制粘贴。
|