我有一个更改了许多文件的补丁文件。它意外地包含了对某些不应该更改的文件的更改。我可以手动从补丁中删除所有提及这些文件的内容,以生成正确的补丁文件,但这是一个繁琐的过程。
如何以编程方式(标准 *nix 工具)从补丁中删除所有提及文件的内容?
注意:我没有最初生成补丁的 Git 设置,因此我只对仅适用于补丁文件的解决方案感兴趣。考虑到这些文件的结构,这应该是可行的。
这个问题涉及 Git:创建一个排除某些文件的补丁文件 https://stackoverflow.com/questions/28096972/create-a-patch-file-excluding-some-files
这个问题涉及TFS:如何删除变更集的特定文件? https://stackoverflow.com/questions/40924136/how-to-remove-particular-file-of-a-changeset
许多 Linux 发行版都提供补丁工具 http://cyberelk.net/tim/software/patchutils/其中包括几个用于此目的的实用程序:
Filterdiff 将选择补丁文件中适用于与 shell 通配符匹配(或不匹配)的文件的部分。
Splitdiff 将补丁从补丁文件中分离出来,以便每个新补丁文件仅更改任何给定文件一次。这样,包含多个增量补丁的文件可以被分割成单独的增量补丁。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)