随心所欲生成git仓库随意一段commit的专用patch应用小实践

我们在开发中。时不时的可能要去做一个patch给你的下线,或者你的合作者。在git管理中,我们知道有git format-patch命令,那怎么使用呢?

笔者以下就以实际样例来记录一下这个过程:

/*****************************************************************************************************/
声明:本博内容均由http://blog.csdn.net/edsam49原创。转载请注明出处。谢谢!
/*****************************************************************************************************/     我们有两个branch。一个是 kk-a20-allwinner是base分支,base这个分支我们产生了一个开发分支a20-kitkat-dev。经过一段时间的开发,我们在开发分支上一家有一些修改了。假如有问题须要别人协查,人家也仅仅有kk-a20-allwinner这个base分支代码。那我们总不能把开发分支的代码打包传给别人吧。

那我们就须要做patch。利用format-patch命令。下图是笔者的操作记录截屏:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZWRzYW00OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

产生了多个patch,详细多少个patch就看你基于base分支后你做了多少次git commit,一个commit相应一个patch,然后把这些patch给对方。对方依照patch的顺序从0001開始的patch一个个打上去就能够了,这种话就降低了非常多的传输数据,效率还是高一些。

那以下我就来谈谈,我们怎么做开发分支的一部分的patch,比方就是近期提交的三个commit。操作例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZWRzYW00OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

要基于开发分支先克隆一个branch出来,再回退三个commit,你要做几个commit的patch你就回退几个commit,然后还是利用format-patch来做。

假设要做开发分支中间几个commit的patch,大体方法还是差点儿相同,仅仅只是先退到要做patch的commit位置,再克隆branch,再在克隆分支上回退几个你想做patch的commit,方法还是差点儿相同,活学活用就好了。

随心所欲生成git仓库随意一段commit的专用patch应用小实践的更多相关文章

  1. Git中如何利用生成SSH个人公钥访问git仓库

    Git中如何利用生成SSH个人公钥访问git仓库方法(这里以coding平台为例): 1. 获取 SSH 协议地址 在项目的代码页面点击 SSH 切换到 SSH 协议, 获得访问地址, 请使用这个地址 ...

  2. svn迁移到git仓库并保留commit历史记录

    svn迁移到git仓库并保留commit历史记录 最近在做svn迁移到gitlab,由于之前一直是由svn做版本控制.最简单的方式是将svn的内容export出来,然后添加到gitlab即可.但是,如 ...

  3. 从Git仓库中恢复已删除的分支、文件或丢失的commit

    亲测可用 因为自己 commit 并且 push 后 因为冲突 提交不了,不小心做了 rebase 代码被 覆盖 用以下命令 还原: 查看所有日志 并记下 hash 值 git reflog 然后用: ...

  4. commit日志历史不一致的Git仓库合并

    有个项目,用SVN commit的在国内开源中国的码云托管,可以直接Git clone"导出"一个本地的git仓库,我在Github上新建立了一个远程的仓库,准备把在码云上clon ...

  5. [原]git的使用(一)---建立本地仓库、add和commit、status和git diff、版本回退使用git reset

    在window下已经安装了git的环境 1.建立本地仓库 mkdir   test     #建立test目录 cd   test        #进入目录 git  init           # ...

  6. svn 迁移到 git 仓库并保留 commit 历史记录

    1.svn 转换为 git(会提示,让你输入先前 svn 的账号与密码) # 切换至 本地项目目录 cd /Users/jianbao/PhpStormProjects/fiisoo/ # 克隆 sv ...

  7. 使用私有git仓库备份服务器脚本和配置文件

    1. 创建私有git仓库 服务器端配置: # 安装 git yum -y install git # 创建 git 用户 useradd git # 创建私有仓库数据存储目录 mkdir /git_b ...

  8. 手把手教你配置git和git仓库

    今天是git专题的第二篇,我们来介绍一下git的基本配置,以及建立一个git仓库的基本方法. 首先申明一点,本文不会介绍git的安装.一方面是大部分个人PC的系统当中都是已经装好了git的,另外一方面 ...

  9. (转)如何将本地git仓库上传到GitHub中托管+实践心得

    Git——新手入门与上传项目到远程仓库GitHub(转) - Chen_s - 博客园http://www.cnblogs.com/Chenshuai7/p/5486278.html 注意的问题: 1 ...

随机推荐

  1. Python学习笔记-小记

    1.字符串string 推断一个字符(char)是数字还是字母 str.isalpha() #推断是否为字母 str.isdigit() #推断是否为数字 推断一个字符串是否为空 if not str ...

  2. ios基础-分辨率适配

    (一)分辨率定义 分辨率,是指单位长度内包括的像素点的数量,它的单位通常为像素/英寸(ppi).描写叙述分辨率的单位有:(dpi点每英寸).lpi(线每英寸)和ppi(像素每英寸). (二)ios分辨 ...

  3. CF 372B Counting Rectangles is Fun [dp+数据维护]

    题意,给出一个n行m列的矩阵 里面元素是0或者1 给出q个询问 a,b,c,d 求(a,b)到(c,d)有多少个由0组成的矩形 我们定义 watermark/2/text/aHR0cDovL2Jsb2 ...

  4. 大型Web 站点 Asp.net Session过期你怎么办

    在 WEB 系统中. 我们通常会用session来保存一些简单可是却非常重要的信息.比方Asp.net中常常会用Session来保存用户登录信息,比方UserID.为了解决 WEB场大家採用了把ses ...

  5. nyoj--120--校园网络(scc+缩点)

    校园网络 时间限制:3000 ms  |  内存限制:65535 KB 难度:5 描述 南阳理工学院共有M个系,分别编号1~M,其中各个系之间达成有一定的协议,如果某系有新软件可用时,该系将允许一些其 ...

  6. hdoj--2120--Ice_cream's world I(并查集判断环)

    Ice_cream's world I Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  7. 浅谈SpringCloud (二) Eureka服务发现组件

    上面学习到了如何由一个程序访问另一个程序,那么如果使用SpringCloud来进行访问,该如何访问呐? 可以借助Eureka服务发现组件进行访问. 可以借助官方文档:https://spring.io ...

  8. python 一句话输出26个英文字母

    chr(i) # return i character ord(c) # return integer >>> [chr(i) for i in range(97,123)] ['a ...

  9. oracle调优使用到相关sql

    select * from v$session where username is not null;select username,count(username) from v$session wh ...

  10. vue中插件的使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...