linux git patch 和patch以及git diff 命令
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 命令的更多相关文章
- linux 比较两个文件夹不同 (diff命令, md5列表)
比较文件夹diff,可以直接使用diff命令 [root@~]# diff -urNa dir1 dir2 -a Treat all files as text and compare them li ...
- GIT打补丁 - patch和diff应用
一. 准备工作: [root@guangzhou gittest]# git br * master [root@guangzhou gittest]# git chk -b patch-test1 ...
- 关于git的打patch的功能
UNIX世界的软件开发大多都是协作式的,因此,Patch(补丁)是一个相当重要的东西,因为几乎所有的大型UNIX项目的普通贡献者,都是通过 Patch来提交代码的.作为最重要的开源项目之一,Linux ...
- 【Git】生成Patch和使用Patch
1.生成Patch(俗称快照) 先来看看repo manifest 的用法 <1>cd /工作目录/项目目录/.repo/manifests <2>repo manifest ...
- 11 个 Linux 上最佳的图形化 Git 客户端
Git是软件开发和若干其他版本控制任务免费和开源的分布式版本控制系统.它被设计用来以应付一切从小到非常大的项目,基于速度,效率和数据完整性. Linux用户主要通过命令行管理Git,不过,一些图形用户 ...
- diff命令和patch命令
diff命令和patch命令 Linux就这个范儿 2.9.5 文件对比命令——diff diff命令搭建网站离不开数据库,在Linux系统上我们使用源码安装了MySQL服务器.不久我们发现 Goog ...
- 『现学现忘』Git基础 — 21、git diff命令
目录 1.git diff 命令说明 2.比较工作区与暂存区中文件的差别 3.比较暂存区与本地库中文件的差别 4.总结git diff命令常见用法 5.总结 1.git diff 命令说明 在comm ...
- patch 打补丁,和diff 生成制作补丁
一.diff 命令: diff命令就是比较两个文件的差异,然后生成差异文件,即补丁文件. 参数:diff --help获得,最常用的 1.-N --new-file 在比较时,如果没有就拿一个空的文件 ...
- Git在Windows环境下配置Diff以及Merge工具---DiffMerge
参考出处:http://coding4streetcred.com/blog/post/Configure-DiffMerge-for-Your-Git-DiffTool主要转自:http://blo ...
随机推荐
- JavaScript----特效代码
1.不同时间段显示不同问候语 <Script Language="JavaScript"> <!-- var text=""; day = n ...
- A - Calendar
A - Calendar Time Limit:1000MS Memory Limit:30000KB 64bit IO Format:%I64d & %I64u Submit ...
- AtCoder Beginner Contest 070|Elena|8.12|#471
打了场beginner的AtCoder,也是我第一次打AtCoder,虽然AK了,但是由于手速慢+撒比,才#471… 比赛链接:https://beta.atcoder.jp/contests/abc ...
- Robot Framework使用For循环
1.普通的For循环 在一个普通的For循环中,循环开始的关键字是 :FOR ,其中的:用于与一般关键字做区分,对于循环结构体内的每一行,使用 \ 作为改行的行首关键字.对于循环中的变量,可以在 IN ...
- [No0000191]7种提高工作效率的Vim操作-Vim使用技巧(6)
Vim一直被认为是一种非常高效的文本编辑器,但是对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性. 本文介绍7种提高你工作效率和生产力的Vim使用技巧,主要集中在对某个文件范围内的特定目标 ...
- toggle显示与隐藏切换
jQuery中显示与隐藏切换toggle方法 show与hide是一对互斥的方法.需要对元素进行显示隐藏的互斥切换,通常情况是需要先判断元素的display状态,然后调用其对应的处理方法.比如显示的元 ...
- node 下查看安装插件的最新版本号的方法
例如查看extract-text-webpack-plugin的最新版本号 (不一定时本地安装的插件的版本号) npm view extract-text-webpack-plugin version ...
- Uniform Resource Name Server
HTTP The Definitive Guide 按址标识 identify by address 按名标识 identify by name Domain Name Server Uniform ...
- Python生成器表达式
https://www.cnblogs.com/liu-shuai/p/6098218.html 简介: 生成器表达式并不真正的创建数字列表,而是返回一个生成器对象,此对象在每次计算出一个条目后,把这 ...
- .2 Git 分支 - 分支的新建与合并
分支的新建与合并 https://git-scm.com/book/zh/v1/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0% ...