【问题标题】:How to recognize a folder rename in JGit如何在 JGit 中识别文件夹重命名
【发布时间】:2013-12-13 21:15:04
【问题描述】:

git mv foldera folderb,导致foldera 中的所有文件都移动到folderb。使用 DiffFormatter 我可以看到每个文件的 DiffEntry 对象。

但是,这并不能说明全部情况。具体来说,从DiffEntry 对象中,我无法确定foldera 是否已重命名为folderb,或者folderb 在提交之前是否已经存在并且两个文件在提交中单独移动,留下foldera里面少了 2 个文件。是否有不同的类来检查提交以获取此信息?

【问题讨论】:

    标签: git directory jgit mv


    【解决方案1】:

    Git 跟踪文件中的更改,而不是文件夹。如果你刚刚创建了folderb,git 不会识别它(即使你是git add folderb)。如果您将所有文件从foldera 移动到folderb,git 不会知道foldera 仍然存在。

    换句话说,除非有一些插件可以跟踪 git 存储库中的文件夹,否则您无法区分这两种情况 - 因为存储库中不存在该信息。 Git 不知道有 folderafolderb - 它只知道在它们的路径中有一些带有 foldera/folderb/ 的文件。

    【讨论】:

      猜你喜欢
      • 2013-12-28
      • 2018-12-26
      • 2018-12-18
      • 2018-02-20
      • 1970-01-01
      • 2018-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多