linux打补丁和git打patch方法

一、linux打补丁方法


1、处理单个文件补丁的方法:


# 产生补丁

?
1
diff  - uN  from - file  to - file  >to - file .patch

# 打补丁

?
1
patch  - p0 < to - file .patch

# 取消补丁

?
1
patch  - RE  - p0 < to - file .patch

2、对整个文件夹打补丁的情况:


# 产生补丁

?
1
diff  - uNr   from - docu  to - docu  >to - docu.patch

# 打补补丁

?
1
2
cd to - docu
patch  - p1 < to - docu.patch

# 取消补丁

扫描二维码关注公众号,回复: 5606277 查看本文章
?
1
patch  - - p1 <to - docu.patch

二、git打patch方法

1、git format-patch <commit>  (推荐)


 只适用于git的patch
包含diff信息,包含提交人,提交时间等
如果git format-patch 生成的补丁不能打到当前分支,git am会给出提示,并协助你完成打补丁工作
例:

?
1
2
3
从master checkout一个新分支修改然后与master对比生成patch。
git  format - patch  - M master  / / - M选项表示这个patch要和那个分支比对
git am  001 - xxx.patch(不必重新commit)


2、git diff <commit>


生成标准的patch,只包含diff信息
git diff生成的Patch兼容性强,可以用git apply --check 查看补丁是否能够干净顺利地应用到当前分支中。
例:

?
1
2
3
从master checkout一个新分支修改然后与master对比生成patch。 
git diff master > patch
git  apply  xxx.patch(需要重新commit)

猜你喜欢

转载自blog.csdn.net/xiaoyaofriend/article/details/51373883