linux打补丁和git打patch方法

1、linux打补丁方法


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


# 产生补丁
python

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

# 打补丁linux

patch -p0 < to-file.patch

# 取消补丁git

patch -RE -p0 < to-file.patch

二、对整个文件夹打补丁的状况:


# 产生补丁
app

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

# 打补补丁spa

cd to-docu
patch -p1 < to-docu.patch

# 取消补丁code

patch -R -p1 <to-docu.patch

2、git打patch方法

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


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

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


二、git diff <commit>


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

从master checkout一个新分支修改而后与master对比生成patch。 
git diff master > patch
git apply xxx.patch(须要从新commit)
相关文章
相关标签/搜索