V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
movq
V2EX  ›  程序员

在电脑 A 把一个已有 commit 的 git repo 移动到 NAS,电脑 B 打开 repo,发现因为文件的修改日期变成了移动日期,所以 git status 全部显示 modified

  •  
  •   movq · 2022-03-03 15:24:31 +08:00 · 1742 次点击
    这是一个创建于 756 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这种情况怎么解决呢?内容全部都没改变,但是修改日期变了

    git reset --hard HEAD 也没用,修改日期还是没改变

    10 条回复    2022-03-04 02:45:36 +08:00
    nightwitch
        1
    nightwitch  
       2022-03-03 15:52:45 +08:00
    filemode
    yiXu
        2
    yiXu  
       2022-03-03 16:44:37 +08:00
    感觉不是修改日期的问题,你从 github clone 一个项目到本地( windows10 20H2 ),文件的修改日期都是当前时间。没有任何提示说需要提交 git 。

    所以,是否是文件编码,或者行末换行符被更改了。
    adoal
        3
    adoal  
       2022-03-03 16:49:11 +08:00
    git diff 一下看看有啥不同?
    duxiansen
        4
    duxiansen  
       2022-03-03 16:53:22 +08:00
    大概率是文件权限问题,改下 filemode
    12101111
        5
    12101111  
       2022-03-03 17:01:42 +08:00
    复制要用 cp -a, 远程复制用 rsync -avl
    tuutoo
        6
    tuutoo  
       2022-03-03 17:06:05 +08:00
    简单点在 A 上提交最新的,在 B 上用 git clone 重新下载一下。
    sleepm
        7
    sleepm  
       2022-03-03 17:43:34 +08:00
    git config core.fileMode false
    XiLingHost
        8
    XiLingHost  
       2022-03-03 17:52:09 +08:00
    所以你现在这个仓库是在 NAS 上,然后 AB 两台机器都挂载下来的?
    无论是 NFS 还是 CIFS 的挂载都不适合用来承载 git 仓库,我的建议是你在 nas 上搭一个 gitea 之类的服务,然后 ab 两台机器通过设置 remote 来同步 git 仓库
    dant
        9
    dant  
       2022-03-03 21:57:19 +08:00
    这种情况建议从 NAS 上 clone 一遍 repo ,改完再 push 回去
    msg7086
        10
    msg7086  
       2022-03-04 02:45:36 +08:00
    git 不 care 时间。你标题里的 assumption 就错了。

    可能是 EOL 或者 mode 的问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3747 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 10:37 · PVG 18:37 · LAX 03:37 · JFK 06:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.