1.git log 查看commit id,修改前为id1,修改后id2

2.根据id1到id2有几次提交来生成几个patch,否则的话会根据所有节点生成很多patch

比如:

commit id2

commit idx

commit id1

那么执行:git format-patch -2 id1 id2   会按照顺序生成两个patch,比如下:

0001-add-build-scripts.patch

0002-add-test-build-scripts.patch

3.先回退到id1 : git reset --hard id1

4.打patch时检查patch:

先检查patch文件:git apply --stat  patchname.patch
检查能否应用成功:git apply --check patchname.patch    (如果打不上,在这一步会报错,报错显示和git am patch是一样的,如果patch有顺序的话,检查第一个就可以)

5.打patch :git am patchname.patch

打patch时严格按照patch的顺序一个一个打

6.patch失败的话,采用 patch -pn < patchname.patch

pn表示跳过多少级目录,如果patch在当前目录下,直接用patch -pn < patchname.patch ,如果patch在上层目录下,则patch -p1 < ../patchname.patch

7.git diff 也可以打patch,使用:

  git diff commit_id1 commit_id2 > test.patch

  打补丁: git apply test.patch

备注,如果打补丁失败,要先把新增的文件删掉。

如果没有commitid,只是修改了文件,可以用git diff 后接改动文件来生成patch,如下:

(1)git diff test.java > test.patch # 生成补丁

然后切换到指定路径下,检查一下这个补丁,并把这个补丁打上。

(2)git apply --check  test.patch #测试补丁能否成功

(3)git apply test.patch # 打补丁

linux git patch 和patch以及git diff 命令的更多相关文章

  1. linux 比较两个文件夹不同 (diff命令, md5列表)

    比较文件夹diff,可以直接使用diff命令 [root@~]# diff -urNa dir1 dir2 -a Treat all files as text and compare them li ...

  2. GIT打补丁 - patch和diff应用

    一. 准备工作: [root@guangzhou gittest]# git br * master [root@guangzhou gittest]# git chk -b patch-test1 ...

  3. 关于git的打patch的功能

    UNIX世界的软件开发大多都是协作式的,因此,Patch(补丁)是一个相当重要的东西,因为几乎所有的大型UNIX项目的普通贡献者,都是通过 Patch来提交代码的.作为最重要的开源项目之一,Linux ...

  4. 【Git】生成Patch和使用Patch

    1.生成Patch(俗称快照) 先来看看repo manifest 的用法 <1>cd /工作目录/项目目录/.repo/manifests <2>repo manifest ...

  5. 11 个 Linux 上最佳的图形化 Git 客户端

    Git是软件开发和若干其他版本控制任务免费和开源的分布式版本控制系统.它被设计用来以应付一切从小到非常大的项目,基于速度,效率和数据完整性. Linux用户主要通过命令行管理Git,不过,一些图形用户 ...

  6. diff命令和patch命令

    diff命令和patch命令 Linux就这个范儿 2.9.5 文件对比命令——diff diff命令搭建网站离不开数据库,在Linux系统上我们使用源码安装了MySQL服务器.不久我们发现 Goog ...

  7. 『现学现忘』Git基础 — 21、git diff命令

    目录 1.git diff 命令说明 2.比较工作区与暂存区中文件的差别 3.比较暂存区与本地库中文件的差别 4.总结git diff命令常见用法 5.总结 1.git diff 命令说明 在comm ...

  8. patch 打补丁,和diff 生成制作补丁

    一.diff 命令: diff命令就是比较两个文件的差异,然后生成差异文件,即补丁文件. 参数:diff --help获得,最常用的 1.-N --new-file 在比较时,如果没有就拿一个空的文件 ...

  9. Git在Windows环境下配置Diff以及Merge工具---DiffMerge

    参考出处:http://coding4streetcred.com/blog/post/Configure-DiffMerge-for-Your-Git-DiffTool主要转自:http://blo ...

随机推荐

  1. C - 食物链

    来源poj1182 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是 ...

  2. 前端基础开发之HTML

    简介:                                                                                1.HTML是什么? htyper ...

  3. atof()函数详解

    atof()函数 atof():double atof(const char *str ); 功 能: 把字符串转换成浮点数 str:要转换的字符串. 返回值:每个函数返回 double 值,此值由将 ...

  4. python字符串魔法

    test = 'alEx' print(test.capitalize()) # 首字母大写 其他都变小写 print(test.casefold()) # 变小写 更牛逼 print(test.lo ...

  5. [No0000C8]英特尔快速存储IRST要不要装

    IRST (英特尔快速存储技术)Intel Rapid Storage Technology(简称IRST)又称英特尔快速存储技术. Intel Rapid Start Technolog同样是简称( ...

  6. xCode 升级9.3之后巨卡

    因为项目要适配iPhone8, iPhoneX 等.需要升级Xcode需要升级到9.3.但是 MAC系统是10.12的,需要升级到10.13. 系统升级完之后升级Xcode.之后Xcode 就各种卡. ...

  7. mysql 超时时间

    小结: 1.mysql服务端主动关闭链接的秒数: MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variables https: ...

  8. 分布式锁 AP需求 CP需求

    小结: 1. 2019给Java程序员的唯一1条建议 https://mp.weixin.qq.com/s/dpx4GsGgZ0xtvzKd5riJng

  9. Excel使用

    筛选 1.数据->取消\使用筛选; 边框 函数 1.使用函数的话需要设置单元格格式为常规;

  10. webstorm背景颜色更改

    一.file --> settings 二.editor-->color scheme  然后右边下拉选择 三.apply -- > ok