如何用git命令生成Patch和打Patch
在程序员的日常开发与合作过程中,对于code的生成patch和打patch(应用patch)成为经常需要做的事情。什么是patch?简单来讲,patch中存储的是你对代码的修改,生成patch就是记录你对代码的修改并将其保存在patch文件中,打patch就是将patch文件中对代码的修改,应用到源代码,从而使得你代码的修改生效。
本身Linux命令里有diff和patch两个命令,可以生成patch和打patch。但是有两点值得注意:
1. 对单个文件或者多个文件,diff和patch这两个文件比较方便。对于git这种以project为单位的修改,尤其是涉及到多个文件夹下的多个文件的改动时,就很不方便
2. 无法保存commit的信息。
因此,推荐大家使用git的format-patch和am命令进行生成patch和打patch,用此方法获得的patch其实就是commit里提交的code修改以及commit信息。有如下好处:
1. 对于git这种以project为单位的修改,尤其是涉及到多个文件夹下的多个文件的改动时,非常方便,能够记录所有的改动(添加,修改,删除文件等)
2. 可以保存commit信息。
3. 能够灵活的获取patch。可以获取任意两个commit之间的patch集。
使用方法(直接给一些examples):
git format-patch
$ git format-patch HEAD^ #最近的1次commit的patch
$ git format-patch HEAD^^ #最近的2次commit的patch
$ git format-patch HEAD^^^ #最近的3次commit的patch
$ git format-patch HEAD^^^^ #最近的4次commit的patch
如何用git命令生成Patch和打Patch的更多相关文章
- 如何用JavaDoc命令生成帮助文档
如何用JavaDoc命令生成帮助文档 文档注释 在代码中使用文档注释的方法 /** *@author *@version * */ 生成帮助文档 打开java文件所在位置,在路径前加入cmd (注意有 ...
- 如何用git命令行上传本地代码到github
注意:安装的前提条件是配置好Git的相关环境或者安装好git.exe,此处不再重点提及 上传的步骤: 本文采用git 命令界面进行操作,先执行以下两个命令,配置用户名和email[设置用戶名和e-ma ...
- 如何用jar命令生成可执行的jar文件
如果你已经把zh.java文件生成了zh.class文件 如果zh.class的路径是bin/com/zhang/zh.class 则在bin目录下放一个manifest.mf文件,文件内容如下: M ...
- git 生成patch 和打入patch
转载:https://blog.csdn.net/liuhaomatou/article/details/54410361 平时我们在使用git 管理项目的时候,会遇到这样一种情况,那就是客户使用gi ...
- 如何使用git 生成patch 和打入patch【转】
本文转载自:http://blog.csdn.net/liuhaomatou/article/details/54410361 平时我们在使用git 管理项目的时候,会遇到这样一种情况,那就是客户使用 ...
- 如何使用git 生成patch 和打入patch 标签: gitpatch【转】
本文转载自:http://blog.csdn.net/liuhaomatou/article/details/54410361 平时我们在使用git 管理项目的时候,会遇到这样一种情况,那就是客户使用 ...
- git 生成patch和打patch
有这样的 目录层次 x/xx/xxx/xxx/ttt.c而 我的 当前位置 是在 x/下 ,执行git diff> test.patch 在test.patch补丁文件里的路径信息是这样的:- ...
- 如何用Git.io来生成自定义后缀名的短网址
如何用Git.io来生成自定义后缀名的短网址 git.io是Github的官方短网址,它是用来缩短Github上项目的网址. 效果:Git.io/wacsh将会跳转到https://xhemj.git ...
- git 生成patch和应用patch【转】
本文转载自:http://www.jianshu.com/p/814fb6606734 1.在git源码目录下执行 1.1.两个commit间的修改(包含两个commit) git format-pa ...
随机推荐
- Python之旅.第三章.函数3.28
一.命名关键字参数: 什么是命名关键字参数?格式:在*后面参数都是命名关键字参数特点:1 必须被传值1 约束函数的调用者必须按照key=value的形式传值2 约束函数的调用者必须用我们指定的key名 ...
- js 中bind
function fn(a){ this.innerHTML = a; console.log(this); } //fn("hello"); span1.onclick =fun ...
- kubernetes进阶(05)kubernetes的命令
在Kubernetes中,Node.Pod.Replication Controller.Service等概念都可以看作一种资源对象,通过Kubernetes提供的Kubectl工具或者API调用进行 ...
- 【52ABP实战教程】0.1-- Devops如何用VSTS持续集成到Github仓库!
工欲善其事,必先利其器.在开始正式的教程之前我们先来聊聊准备工作. 管理工具会VSTS. 代码管理会用GITHUB. 服务器会用Azure. 所有的东西都是利用现有服务.不会说自己从虚拟机开始玩.我们 ...
- PyCharm设置仿sublime配色__Py版本2018.1
Talk is cheap~ Let's do this! 配色效果图: 在网上搜了一大圈,没有能看的一清二楚的,注意本次Pycharm版本是2018.1,如果是别的版本,基本设置也是大同小异~ 看图 ...
- *args和**kwargs
#coding=utf8 __author__ = 'Administrator' # 当函数的参数不确定时,可以使用*args和**kwargs.*args没有key值,**kwargs有key值 ...
- Java:逐行读、写文件、文件目录过滤的用法
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...
- jacascript document对象
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! Document 类型表示文档,或文档的根节点,这个节点是隐藏的,没有具体的节点标签:而 html 是根标 ...
- 从零开始系列之vue全家桶(6)实战前的设计
搭建好基本框架后我们应该先想一想个人博客应该有哪些功能呢? 为了更好的适应企业的要求,这里我将搭建一个非典型的博客. 在全部采用单页开发的情况下,使用vue-router,路由分别设置home.abo ...
- [LeetCode] Can Place Flowers 可以放置花
Suppose you have a long flowerbed in which some of the plots are planted and some are not. However, ...