首页 > 解决方案 > 通过 USB 驱动器复制 git repo 会导致所有文件显示为已修改

问题描述

我一直在我的 mac 上处理一些代码,并想开始在我的 linux 桌面上处理它。项目在 git 下管理。在复制之前,我确保一切都已提交。然后我将包含所有内容的文件夹从我的 mac 复制到 USB 驱动器,然后将文件夹从 USB 驱动器复制到 linux 盒子。复制后,一切看起来都在它应该在的位置,但是如果我执行 git status,所有文件都显示为已修改。我猜这是因为文件上的时间戳已经改变。他们是一种保留旧时间戳以使文件看起来不被修改的方法吗?或者告诉 git 不要担心自上次提交以来的更改?我不想在转移后立即执行 git commit -a ,因为我真的不希望在我的 git 历史记录中移动盒子。

标签: linuxgitmacos

解决方案


最简单的做法是使用克隆(而不是复制工作树)来共享存储库。

如果您不能直接在两台机器之间克隆/获取/推送/拉取,那么您可以创建一个“捆绑文件”并复制,而不是复制实际的 repo。(请参阅 git bundle 文档或搜索有关如何以这种方式共享 repo 的现有问题/答案。)

跨操作系统时,仍然存在潜在问题。例如,如果在具有不同默认行结束规则的操作系统之间交叉,您会想考虑如何处理行结束 - 但 mac 和 linux 无论如何都不应该有这个问题。


推荐阅读