linux - 通过 USB 驱动器复制 git repo 会导致所有文件显示为已修改
问题描述
我一直在我的 mac 上处理一些代码,并想开始在我的 linux 桌面上处理它。项目在 git 下管理。在复制之前,我确保一切都已提交。然后我将包含所有内容的文件夹从我的 mac 复制到 USB 驱动器,然后将文件夹从 USB 驱动器复制到 linux 盒子。复制后,一切看起来都在它应该在的位置,但是如果我执行 git status,所有文件都显示为已修改。我猜这是因为文件上的时间戳已经改变。他们是一种保留旧时间戳以使文件看起来不被修改的方法吗?或者告诉 git 不要担心自上次提交以来的更改?我不想在转移后立即执行 git commit -a ,因为我真的不希望在我的 git 历史记录中移动盒子。
解决方案
最简单的做法是使用克隆(而不是复制工作树)来共享存储库。
如果您不能直接在两台机器之间克隆/获取/推送/拉取,那么您可以创建一个“捆绑文件”并复制它,而不是复制实际的 repo。(请参阅 git bundle 文档或搜索有关如何以这种方式共享 repo 的现有问题/答案。)
跨操作系统时,仍然存在潜在问题。例如,如果在具有不同默认行结束规则的操作系统之间交叉,您会想考虑如何处理行结束 - 但 mac 和 linux 无论如何都不应该有这个问题。
推荐阅读
- awk - 连接多个文件并根据值创建新文件
- r - 为什么 sweave 标记 (<<>>=) 在表格环境中不起作用?
- reactjs - 失败的道具类型:Material-UI:必须在 ForwardRef(CardMedia) 中指定 `children`、`image`、`src` 或 `component` 道具
- java - 无法使用 jcraft JSch 和骆驼连接到 sftp
- deployment - 更改 BizTalk 2020 部署项目名称会阻止 DevOps 正确部署应用程序
- web-scraping - 谷歌图片搜索日期过滤解决方法
- angular - 根据角色Jhipster的背景颜色
- websphere - CAS 登录 URL 给出 java.lang.StringIndexOutOfBoundsException
- business-intelligence - Cognos Framework Manager 是否具有与 Cognos 中的 Dynamic Cubes 类似的“Last”功能?
- excel - Excel 列表框未正确填充