gpt4 book ai didi

git - Git 可以在不丢失历史记录的情况下重组我的文件夹吗?

转载 作者:IT王子 更新时间:2023-10-29 01:07:15 24 4
gpt4 key购买 nike

我有一个 git 存储库,目前只有我一个人在使用它。我想把根文件夹下的所有文件和文件夹,放到一个新的文件夹里。

当前结构:

main ->  src  res

新结构:

main ->  app1    src    res

有没有办法让文件不会丢失它们的 git 历史记录?

最佳答案

长话短说

继续:移动您的文件和目录。只需确保在目录重组的同一次提交中不对文件进行任何编辑即可。

为什么有效

Git 是一个内容跟踪器,而不是文件跟踪器。如果您移动/重命名文件,但未对这些文件的内容 进行任何其他更改,那么 Git 只会 rewrites the tree objects .目录操作不会更改文件 blob;目录位置信息单独存储在树对象中。

实际重命名检测由 diffing the blobs and trees 处理,并寻找文件之间相似度的可配置百分比。这意味着 Git 并不真正存储移动或直接重命名;它根据提交之间的差异计算它们。

所有这一切的结果是您的历史不依赖于特定的文件名或目录结构。这对于大多数用例都非常有效,但与 Bazaar 等系统形成对比该轨道重命名为一流的操作。

关于git - Git 可以在不丢失历史记录的情况下重组我的文件夹吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10828267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com