【问题标题】:Remove changes to a particular file from a patch-file从补丁文件中删除对特定文件的更改
【发布时间】:2019-02-05 15:33:45
【问题描述】:

我有一个补丁文件,它会更改许多文件。它不小心包含了对某些不应该更改的文件的更改。我可以手动从补丁中删除所有提及这些文件以生成正确的补丁文件,但这是一个乏味的过程。

如何以编程方式(标准 *nix 工具)从补丁中删除所有提及的文件?


注意:我没有最初生成补丁的 Git 设置,所以我只对仅适用于补丁文件的解决方案感兴趣。鉴于这些文件的结构,这应该是可行的。

这个问题与 Git 有关:Create a Patch file excluding some files

这个问题与 TFS 有关:How to remove particular file of a changeset?

【问题讨论】:

    标签: patch


    【解决方案1】:

    许多 Linux 发行版都提供 patchutils,其中包括几个实用程序:

    Filterdiff 将选择应用于匹配(或者,不匹配)shell 通配符的文件的补丁文件部分。

    Splitdiff 将补丁从补丁文件中分离出来,这样每个新的补丁文件只会改变任何给定的文件一次。通过这种方式,可以将包含多个增量补丁的文件拆分为单独的增量补丁。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多