Git补丁应用至Git仓库外指定文件的方法及补丁文件修改指南
如何将补丁应用到非Git仓库的目标文件
首先,我们需要先调整补丁文件里的文件名,让它匹配要修改的x.txt,再用工具完成补丁应用,具体步骤如下:
第一步:修改补丁文件
打开fix_something.patch,找到开头的几行内容,它们应该长这样:
diff --no-index x_original.txt x_updated.txt --- x_original.txt +++ x_updated.txt
把这三行里的x_original.txt和x_updated.txt全部替换成x.txt,修改后变为:
diff --no-index x.txt x.txt --- x.txt +++ x.txt
这样补丁就会把x.txt识别为目标修改文件,而非原来那两个不存在的文件。
第二步:应用补丁
你有两种常用工具可选,都能处理非Git仓库的文件:
选项1:使用git apply(Git自带工具)
即使x.txt不在Git仓库中,git apply依然可以正常应用补丁,执行以下命令即可直接修改x.txt:
git apply fix_something.patch
选项2:使用patch命令(Linux/macOS默认自带,Windows可通过Git Bash/WSL使用)
如果你的系统预装了patch工具,也可以用它来完成操作:
patch x.txt fix_something.patch
如果不想直接改动原文件,而是生成一个修改后的新文件,可以用-o参数指定输出路径:
patch -i fix_something.patch -o x_modified.txt x.txt
执行后原x.txt保持不变,修改后的内容会保存到x_modified.txt中。
内容的提问来源于stack exchange,提问作者David Callanan
相关产品推荐
相关产品推荐

