V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
MOxFIVE
V2EX  ›  程序员

这几个文件内容不一样吗? GitHub 客户端 diff 一片绿

  •  
  •   MOxFIVE ·
    MOxFIVE · 2016-03-13 01:34:47 +08:00 · 10138 次点击
    这是一个创建于 3210 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • A 文件全绿

      A

    • B 文件前面小部分绿

      B


      我把 Win 下 clone 仓库得到的文件覆盖 Mac 下 GitHub 客户端同步的仓库后,出现这些差异。我试着用 Sublime 和 Notepad 把编码都改成 UTF-8 ,还是没通过检测,到底是哪里导致的差异呢?

    C

      最后附上文件: http://moxfive.xyz/resources/github-diff.zip

    15 条回复    2016-03-14 11:54:53 +08:00
    lianz
        1
    lianz  
       2016-03-13 01:45:16 +08:00
    换行问题
    lianz
        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 =
    Strikeactor
        3
    Strikeactor  
       2016-03-13 01:52:15 +08:00




    Beyond Compare 的比较结果反正是一毛一样
    7654
        4
    7654  
       2016-03-13 03:43:40 +08:00
    档案格式问题, MAC 下是 UNIX 格式, Win 下是 Dos\Windows
    也就是换行符差异,用 notepad++的档案格式转换转成同一种格式
    yyfearth
        5
    yyfearth  
       2016-03-13 03:54:05 +08:00 via iPhone
    很明显换行符的问题
    全部统一成 \n 就可以了
    因为 Win 下 默认 \r\n
    jsfaint
        6
    jsfaint  
       2016-03-13 07:47:50 +08:00 via Android
    windows 版的 git 在安装时有一个选项,问你怎么处理换行符,估计楼主选的默认……其实应该选第三个 commit as chechout as 啥的那个
    caixiexin
        7
    caixiexin  
       2016-03-13 08:18:26 +08:00 via Android
    Windows git 的第一大坑。就是每次 commit 的时候偷偷把\r
    \n 换成\n
    pull 的时候把
    caixiexin
        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/
    ynyounuo
        9
    ynyounuo  
       2016-03-13 08:44:13 +08:00
    CRLF / LF
    MOxFIVE
        10
    MOxFIVE  
    OP
       2016-03-13 11:55:52 +08:00
    @lianz 谢谢。直接 16 进制对比真不错, 0d0a
    MOxFIVE
        11
    MOxFIVE  
    OP
       2016-03-13 11:59:20 +08:00
    @7654 @ynyounuo @yyfearth 都是长者,一语中的
    MOxFIVE
        12
    MOxFIVE  
    OP
       2016-03-13 12:00:15 +08:00
    @jsfaint 当时不懂就一路默认,没想到默认是个坑哈
    MOxFIVE
        13
    MOxFIVE  
    OP
       2016-03-13 12:01:58 +08:00
    @caixiexin 感谢!很详细的指南,研究填坑中
    GhostFlying
        14
    GhostFlying  
       2016-03-13 12:46:19 +08:00 via Android
    其实默认坑到人概率也不高,关键在于不要跨系统复制 repo 。。要走 push pull
    SpicyCat
        15
    SpicyCat  
       2016-03-14 11:54:53 +08:00
    @GhostFlying 这是正解。如果一直走 git 流程的话,也不会坑,就是怕直接跨平台复制粘贴。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5471 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 08:28 · PVG 16:28 · LAX 00:28 · JFK 03:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.