我的用例是
- 我有一个由 uidA:gidA 创建的非常大的 GIT 存储库,其所有文件和 git 索引为 uidA:gidA
- 我已经使用 netapp 文件系统技术进行了快照/冻结,也就是冻结了该目录和 git 工作区的内容
- 我“文件系统克隆”了 uidB:gidB 的快照。它会立即使用快照的精确副本创建一个新工作区,每个文件/目录现在由 uidB:gidB 拥有 1 个差异。
当我执行“git status”时,它会强制更新索引,很可能是因为索引中的文件/对象存储为 uidA:gidA,而“文件系统克隆”工作区中的所有文件都归 uidB:gidB并且存在不匹配。
有没有办法有效地将索引中的部分或全部对象/文件更新为 uidB:gidB。我怀疑默认更新实际上会在更新索引之前检查每个文件,在这种情况下不需要。所以我想办法盲目地将索引中的所有文件更新为 uidB:gidB
或者避免强制索引更新。
在 NFS 上,在我们非常大的工作区中进行索引更新需要 20 多分钟。工作空间为 800GB