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

2022-03-03 15:24:31 +08:00
 movq

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

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

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

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

可能是 EOL 或者 mode 的问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/837708

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX