【问题标题】:Reorganizing folders without missing files history重新组织文件夹而不丢失文件历史记录
【发布时间】:2017-09-15 03:45:54
【问题描述】:

当我使用操作系统本机命令或 GUI 移动一些文件时,git 会丢失轨道并认为文件被删除并创建了新文件!使用 git mv 命令其工作。但它不支持移动文件夹或通配符(是吗?)

在不丢失历史记录的情况下重新组织文件和文件夹的最佳方法是什么?

【问题讨论】:

    标签: git mv


    【解决方案1】:

    由于 git 的协议,我们如何在 git commit 之前移动文件影响不大。提交实际上是所有文件的快照,并且不包含与先前提交的差异。

    这意味着我们不能真正“跟踪”,而必须“恢复”文件的移动。

    一些 git 命令(可能还有 GUI)实际上做得很好。这是我用来列出文件更改的 git 命令,包括移动。

    $ git log --follow -- [FILES]
    

    【讨论】:

      【解决方案2】:

      Git 的设计并不记录文件重命名,而是在运行时计算文件的历史记录。这导致没有重组文件/文件夹的“最佳方式”之类的东西。然而,不可否认,由于 Git 通过比较文件的内容来确定重命名,它确实具有这样的效果,如果你想移动一个文件 修改它的内容,最好有一个只包含文件重命名和内容修改的另一个提交。

      有关与 Git 如何计算重命名相关的标志,请参阅 git log-C-M 选项。

      【讨论】:

        猜你喜欢
        • 2011-05-09
        • 1970-01-01
        • 2012-06-05
        • 2011-04-26
        • 2012-08-06
        • 2016-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多