首先将源代码clone下来
root@localhost:~# git clone https://github.com/vmware/column
Cloning into 'column'...
remote: Counting objects: 1356, done.
remote: Total 1356 (delta 0), reused 0 (delta 0), pack-reused 1356
Receiving objects: 100% (1356/1356), 206.98 KiB | 0 bytes/s, done.
Resolving deltas: 100% (849/849), done.
Checking connectivity... done.
需要修改的文件做一个备份
cp column/requirements.txt column/requirements.txt.back
修改column/requirements.txt文件
用diff工具生成补丁
diff -up column/requirements.txt.back column/requirements.txt > column.patch
参数详解:
-u 显示有差异行的前后几行(上下文), 默认是前后各3行, 这样, patch中带有更多的信息.
-p 显示代码所在的c函数的信息.
打patch
重新clone一份源代码
进入column目录
patch requirements.txt ../column.patch
或者
patch –p1 < ../column.patch
(打patch时,参数-p1, 是1而不是l. 为什么忽略第一级目录,因为工程的下面树状结构相同,但是工程名未必相同,所以打patch时候可以通过p1来避免这个问题。这个可以通过查看patch内容来决定具体执行patch的路径。)
这样打patch就成功了
image.png