V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Betty
V2EX  ›  问与答

git 灵异事件求教

  •  
  •   Betty · 2019-01-21 18:22:04 +08:00 · 1874 次点击
    这是一个创建于 2132 天前的主题,其中的信息可能已经有所发展或是发生改变。
    就在刚才,刚从服务器上 clone 了一个仓库,什么都没动的情况下,却显示一个惊叹号,显示有文件被修改。顺着惊叹号进去,到最后一层,却所有文件却都打着绿勾,显示都是同步得好好的。退到上一层,试着 commit,显示确实有一个文件有变化,是一个图片文件(当然,我根本没改过它)。commit,push,提交成功,这下总应该同步了吧?但还是显示有惊叹号。期间怀疑是资源管理器显示有问题,未能及时刷新,试过关掉重开,换第三方资源管理器,情况依旧。看提交记录,这个图片文件确实有变化,内容是两个不同的内容,但我完全没改过它呀!又试着回滚撤销提交,仍然显示有惊叹号。
    真心觉得灵异了:为什么图片会自动变?图片的新内容是哪儿来的?😨 为什么无论怎么提交,文件夹上都显示惊叹号?但所有文件夹却都打着绿勾?
    14 条回复    2019-01-22 06:34:19 +08:00
    32
        1
    32  
       2019-01-21 18:28:12 +08:00   ❤️ 1
    考虑下文件名大小写方面
    masker
        2
    masker  
       2019-01-21 18:29:32 +08:00 via Android
    git status
    chinvo
        3
    chinvo  
       2019-01-21 18:29:55 +08:00
    Windows、*nix 的文件头(属性)信息不同
    文件名大小写

    Betty
        4
    Betty  
    OP
       2019-01-21 18:33:29 +08:00
    @32
    @chinvo
    感谢大神,我后来也发现这个文件的文件名跟文件夹里其他文件不同,其他都是小写,就它是大写,于是把它也改成小写了,但问题依旧……
    而且,即使大小写有问题,图片的新内容又是哪儿来的?😨
    Betty
        5
    Betty  
    OP
       2019-01-21 18:33:56 +08:00
    @masker
    On branch master
    Your branch is up-to-date with 'origin/master'.

    nothing to commit, working tree clean
    masker
        6
    masker  
       2019-01-21 18:39:19 +08:00 via Android
    @Betty 可能是图片一开始没加入 gitignore,后面又被加入了 gitignore 就有可能造成这
    32
        7
    32  
       2019-01-21 18:40:12 +08:00
    @Betty 文件名大小写的可疑最大,至于你改了之后问题依旧,你改动后提交之后,在另外的地方再 clone 下来看看是否解决了.
    你提到的更改我怀疑是仅本地修改,仓库内的信息和本地依然不一致

    图片的新内容是啥?图片更改了吗?
    gamexg
        8
    gamexg  
       2019-01-21 18:45:10 +08:00
    >这个图片文件确实有变化,内容是两个不同的内容

    开监控看看是什么软件修改的。
    chinvo
        9
    chinvo  
       2019-01-21 18:50:56 +08:00
    如果是大小写问题,那么你在非大小写敏感的文件系统(比如 Windows 下的 exfat、ntfs、fat32、fat,Mac 的非大小写敏感 HFS+/APFS )上修改是没用的
    Betty
        10
    Betty  
    OP
       2019-01-21 19:28:06 +08:00
    @32 图片内容确实变化了,本来是某个人,变成了另外一些人 😅
    这个仓库是托管在 coding.net 上的,我在 coding.net 网页上看了确实提交到服务器了,可在网页端看到更改
    Betty
        11
    Betty  
    OP
       2019-01-21 19:36:18 +08:00
    @masker 看了下这个项目没有 gitignore 文件 😅
    frylkrttj
        12
    frylkrttj  
       2019-01-21 20:48:58 +08:00
    没 gpg 签名吧
    Betty
        13
    Betty  
    OP
       2019-01-21 20:50:42 +08:00
    最终觉得可能是跟文件名大小写的问题有关,TortoiseGit 2.5.0 开始对文件名大小写敏感了,所以它认为文件有改动,显示叹号。但是 Windows 对文件名大小写并不敏感,git 默认可能也是不敏感的,所以它认为没有改动可以提交。在 TortoiseGit 高级设置里设成不敏感,可解决叹号问题(虽然它不建议这么做,但它又没给出更好的建议做法😓)。
    但是仍然无法理解为什么一开始试着提交会真的有改动可以提交 😨
    SharkIng
        14
    SharkIng  
       2019-01-22 06:34:19 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   902 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 21:49 · PVG 05:49 · LAX 13:49 · JFK 16:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.