git根据commit生成patch(转载)
转自:http://smilejay.com/2012/08/generate-a-patch-from-a-commit/
在看一个Bugzilla上Xen的一个bug时,提到要revert掉Dom0(用linux.git)中一个commit,当然git是有revert命令的,如下所示。
[root@jay-linux linux.git]# git revert cd9db80e5257682a7f7ab245a2459648b3c8d268 warning: too many files (created: 2321 deleted: 1460), skipping inexact rename detection Finished one revert. [detached HEAD aab6b2f] Revert "xen/pciback: Support pci_reset_function, aka FLR or D3 support."2 files changed, 3 insertions(+), 39 deletions(-)
(BTW,由于那个commit后的改动太多,可能会导致直接revert掉后不能编译成功(或功能不正常);所以如果真正revert一个commit后要提交时,要做好评估。)
然后,我想看一下这个commit的patch是怎么样的,做了哪些改动,就需要Git根据一个commit SHA-1值生成一个patch,可以使用如下两种方式。
1. git format-patch -1 commit :生成的patch有统计信息和git的版本信息
2. git diff commit_previous commit > mypatch.diff :最原始的diff信息,对于这里的commit_previous(commit之前一个commit),可以使用“commit^”来表示,这样比较方便,不易出错。
实际命令演示如下:
[root@jay-linux linux.git]# git format-patch -1 cd9db80e5257682a7f7ab245a2459648b3c8d268 0001-xen-pciback-Support-pci_reset_function-aka-FLR-or-D3.patch (前部有统计信息;结尾有“--1.7.1”这样的git版本标志。)[root@jay-linux linux.git]# git diff cd9db80e525^ cd9db80e525 > diff.patch
在commit SHA-1值不重复(冲突)的情况下,可以只写前面几位字符即可(如上面的git diff命令中那样使用)。
第一种方式,除了最重要最基本的diff信息之外,还有如下信息:
From a8d30220510cb1d8eac18746570cb52214ac65d7 Mon Sep 17 00:00:00 2001 From: Jay <smile665@gmail.com> Date: Tue, 19 Jun 2012 11:07:02 +0800 Subject: [PATCH] move libvirt config files to a dedicated directory---config/libvirt/hotplug.xml | 5 ++config/libvirt/rhel6u3_virsh.xml | 72 ++++++++++++++++++++++++++++++++++config/libvirt/win8_virsh.xml | 80 ++++++++++++++++++++++++++++++++++++++3 files changed, 157 insertions(+), 0 deletions(-)create mode 100644 config/libvirt/hotplug.xmlcreate mode 100644 config/libvirt/rhel6u3_virsh.xmlcreate mode 100644 config/libvirt/win8_virsh.xml(中间是基本diff的信息) diff --git a/config/libvirt/hotplug.xml b/config/libvirt/hotplug.xml new file mode 100644 index 0000000..dc85c22(最后的git版本信息) -- 1.7.1
更多信息,可以:man git-format-patch 和 man git-diff
转载于:https://www.cnblogs.com/lance-ehf/p/4281141.html
git根据commit生成patch(转载)相关推荐
- [git 基础] 生成patch 和 打patch 的实例
简洁点啊,我看 网上 很多搞得很复杂的介绍, 然后,最关键,他们 这边版本不仅抄来抄去,而且,还是一个英文 谷歌网页翻译版本. 搞得好复杂, 还没讲 清楚. 1生成Patch 直接就是在GUI上,选一 ...
- Git diff 生成patch文件
通过git diff 命令生成patch文件 1.还未提交的修改 命令 :git diff > commit.patch 2.已提交的修改 先用git log命令查看commit id soft ...
- 如何生成Patch及打patch
如何生成patch: 1. 修改代码 2. git add 添加修改的代码 3. git commit 提交代码 4. git format-patch -1生成Patch 如何打patch: 1. ...
- git 生成patch和使用patch
啰嗦下:发现自己的blog被转载了,不过没有注明出处,有点痛并快乐着的感觉.这里正式申明下:转载请注明出处,感谢.如有商用目的请务必知会本人. 在android大环境下工作,迟早都会接触到git工具, ...
- 添加一个文件夹及一些文件如何使用git生成patch
http://blog.csdn.net/lizzywu/article/details/18666611 背景介绍: 在一个git库里面添加了一个文件夹和若干文件及resource图片文件,需要生成 ...
- git 生成多个patch_如何用git命令生成Patch和打Patch
在程序员的日常开发与合作过程中,对于code的生成patch和打patch(应用patch)成为经常需要做的事情.什么是patch?简单来讲,patch中存储的是你对代码的修改,生成patch就是记录 ...
- Git生成patch及打patch到源代码
1.每个commit生成1个patch 1.1.创建patch 文件的常用命令行 1.1.1.某次提交(含)之前的几次提交 git format-patch [commitid] -n n 表示从指定 ...
- Linux的diff和git diff生成patch/打patch
一.Linux的diff生成patch和打patch 1.单个文件生成patch # diff -up xxx/a.txt yyy/b.txt > mypatch_1 参数解释: -u:显示 ...
- 如何使用git 生成patch 和打入patch
平时我们在使用git 管理项目的时候,会遇到这样一种情况,那就是客户使用git 生成patch 给到我们,那我们就需要把客户给到patch 打入到我们的project ,基于这样一个场景,我把git ...
- 如何用git命令生成Patch和打Patch(git format-Patch和git am)
在程序员的日常开发与合作过程中,对于code的生成patch和打patch(应用patch)成为经常需要做的事情. 什么是patch?简单来讲,patch中存储的是你对代码的修改 什么是生成patch ...
最新文章
- 世界上最遥远的距离(泰戈尔)
- 10行代码AC——7-2 说反话-加强版 (20 分)——解题报告
- Codeforces Round #530 (Div. 1) 1098A Sum in the tree
- Spark应用日志级别设置
- springboot快速入门(一)——HelloWorld搭建
- docker简介以及优缺点
- 计算机应用培训课程安排表,计算机培训教学计划
- 终于找到个好办法备份数据库了
- YII学习笔记6.20日
- 计算机组成原理试题和答案2017,【2017年整理】计算机组成原理试题及答案9.doc...
- Flutter初步-第一个电视直播APP
- 浅议一种低成本的48V蓄电池组电压电流采集模块
- 学术论文的定义、特点、写作方法以及写作格式
- 2021-03-03-Beamforming algorithms - beamformers
- 最小生成树算法之Prim算法
- 如何在家免费使用知网?
- 十一月 Z 星月度速览 | 个性化推荐技术解读、Mivus demo 服务框架切换缘解、精选好书推荐、AI 收藏夹……...
- CAD梦想画图中的“阵列命令”
- Filter过滤器导致CSS样式失效
- docker 容器常用命令及基本操作
热门文章
- SIFT特征原理与理解
- 如何从零设计结构清晰、操作友好的权限管理模块
- python笔记之循环控制
- 树莓派(Raspberry Pi)日期时间不准的修正方法
- 是的,我们真的在遭遇有史以来最大的DDoS攻击,并且还在加剧
- Python学习--识别“字符串字典列表元组“
- python学习之记事本
- 【STM32 .Net MF开发板学习-09】AD模拟量采集
- LEARNING TO EXPLORE USING ACTIVE NEURAL SLAM
- 最小二乘方法和RANSAC的改进算法PROSAC和LMEDS