git 生成patch和应用patch【转】

本文转载自:http://www.jianshu.com/p/814fb6606734

1、在git源码目录下执行

 1.1、两个commit间的修改(包含两个commit)

git format-patch <r1>..<r2>
如:
git format-patch d77aaac74845435744c49ae65511d9e1be79ed5c...046ee8f8423302f5070ca81b4e246516e919cd7a -o patch

 1.2、单个commit

git format-patch -1 <r1>

 1.3、从某commit以来的修改(不包含该commit)

git format-patch <r1>

2、 把生成的patch文件拷贝到目标git目录下

3、测试patch

 3.1、 检查patch文件

git apply --stat 0001-minor-fix.patch

 3.2、 查看是否能应用成功

git apply --check 0001-minor-fix.patch

4、应用patch

git am -s < 0001-minor-fix.patch

5、结束

时间: 2024-08-20 16:55:19

git 生成patch和应用patch【转】的相关文章

使用 Git 生成标准 Patch

源地址:http://stackvoid.com/how-to-use-git-generate-patch/ 发布给别的厂商的代码,随着 Bug 的解决,需要即使通知厂商,这时候 Patch 就大显身手了. 今天跟大家分享总结如何快速生成一个标准的Git可以识别的Patch. 1.初始化git环境 使用 git init git add * //添加所有文件到本地 git commit -m "init" //提交所有文件到本地 命令来初始化当前的git目录.如果当前目录有 .git

如何使用git 生成patch

1,下载代码 git clone git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6.git cd bluetooth-next-2.6 2,修改代码 vi drivers/bluetooth/btusb.c 3,把代码添加到git管理仓库 git add drivers/bluetooth/btusb.c 4,提交修改 git commit -m "Added atheros3012 Chip Fir

如何使用git 生成patch 和打入patch 标签: gitpatch【转】

本文转载自:http://blog.csdn.net/liuhaomatou/article/details/54410361 平时我们在使用git 管理项目的时候,会遇到这样一种情况,那就是客户使用git 生成patch 给到我们,那我们就需要把客户给到patch 打入到我们的project ,基于这样一个场景,我把git 如何生成patch 和如何打入patch 做总结   生成patch 的方法:(我这里描述的生成patch 是根据commit 记录生成的) 1.例如首先先通过git lo

如何使用git 生成patch 和打入patch【转】

本文转载自:http://blog.csdn.net/liuhaomatou/article/details/54410361 平时我们在使用git 管理项目的时候,会遇到这样一种情况,那就是客户使用git 生成patch 给到我们,那我们就需要把客户给到patch 打入到我们的project ,基于这样一个场景,我把git 如何生成patch 和如何打入patch 做总结   生成patch 的方法:(我这里描述的生成patch 是根据commit 记录生成的) 1.例如首先先通过git lo

生成和打上patch的方法(转载)

原文链接:http://my.oschina.net/fgq611/blog/180750 在团队开发的过程中,经常需要生成patch,或者打上别人提供的patch,那么一般情况是如何操作的呢. 首先生成patch需要有两个工程,一个修改前的A工程,一个修改后的B工程. 使用linux命令diff就可以生成patch了.格式如下: 1 diff -Naur path/to/A_Project path/to/B_Project > Project.patch 注意:文件夹后面没有斜杠,即是 A_

git am PATCH_FILE_NAME自动打patch失败后的操作方法

1.找到打入patch不成功的patch 从打入patch的失败信息可以找到 2.根据patch的index重新打入 patch,将可以合并的内容合并,冲突的部分单独生成文件 比如出问题patch的index为0023,那么就去.git/rebase_apply目录下可以找到,假如发生patch失败时的文件为arch/arm/kvm/guest.c git apply .git/rebase_apply .git/rebase_apply/0023 --reverse (经过这一操作后会生成ar

Linux中使用diff生成补丁与用patch打补丁

1.使用diff生成补丁: diff是Linux下的文件比较命令,参数这里就不说了,直接man一下就行了,不仅可以比较文件,也可以比较两个目录,并且可以将不同之处生成补丁文件,其实就是一种打补丁的命令.使用方法如下: diff -rNu a b > diff.patch 其中,a是旧的目录或文件,b为最近修改后的目录或文件,生成的补丁文件为patch. 2.使用patch打补丁: patch命令的参数详见man手册,使用patch给另外一个a目录打补丁时如下: patch -p0 < diff

Mac系统Git生成ssh公钥

Mac系统Git生成ssh公钥 在使用Git仓库进行代码管理时,新的电脑上往往需要生成ssh公钥进行匹配,Mac系统生成Git公钥过程如下: 1.检查本机是否已有公钥 在终端中输入如下命令: ? 1 $ cd ~/.ssh 2.如果电脑中有以前遗留的密钥,将其删除掉 使用如下命令: ? 1 2 3 $ mkdir key_backup $ cp id_rsa* key_backup $ rm id_rsa* 3.生成新的公钥 终端中输入如下命令 ? 1 $ ssh-keygen -t rsa -

Oracle? Database Patch 19121551 - Database Patch Set Update 11.2.0.4.4 (Includes CPUOct2014) - 傲游云浏览

Skip Headers Oracle? Database Patch 19121551 - Database Patch Set Update 11.2.0.4.4 (Includes CPUOct2014) ? Released: October 14, 2014 This document is accurate at the time of release. For any changes and additional information regarding PSU 11.2.0.4