git patch 使用
使用git的时候,需要删除几个id,会对到之前的代码,但又想保留现在的代码,以便后面从新合并,所以就将现在的代码打包成patch,留到下次合并。
参考链接
http://www.jianshu.com/p/e5d801b936b6
http://www.cnblogs.com/y041039/articles/2411600.html
生成patch
可以用git diff命令或者git format-patch生成patch。
git format-patch
git format-patch <id>:从id这个版本到现在的patch。
如果有多个id的log信息,那么就会生成多个patch文件。
git patch命令生成的patch是根据时间节点来的,而且在打patch的时候,一个patch对应一个时间节点。
使用git log查看id信息。
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 diff
git diff命令不管有几个时间节点,都只会生成一个patch文件。
git diff <id1> <id2> > file.patch
旧的id1在前。
使用patch
先检查patch文件:git apply --stat newpatch.patch
检查能否应用成功:git apply --check newpatch.patch
使用git am会有patch里面的log信息,包括comment等。
打补丁
git am --signoff < newpatch.patch 或者 git am --s < newpatch.patch
git apply newpatch.patch
使用git apply 命令打入patch就不会记录commit的记录,而使用git am的记录就会有记录。
patch失败
先检查patch文件:git apply --stat newpatch.patch
检查能否应用成功:git apply --check newpatch.patch
如果不成功,我的解决方法:
git am newpatch.patch
运行这条命令之后,是不会打patch,因为前面的git apply --check已经检查出不成功,git am也会进行检查,不成功就不会打patch。但是会进入git am的操作。
git apply --reject newpatch.patch 这条命令会将可以打的patch打上,然后不能打patch的文件在对应的目录生成.rej文件。对比rej文件,手动更改patch。
git status查看当前状态。
当前不在任何分支上。
您正处于 am 操作过程中。
(解决冲突,然后运行 "git am --continue")
(使用 "git am --skip" 跳过此补丁)
(使用 "git am --abort" 恢复原有分支)
尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git checkout -- <文件>..." 丢弃工作区的改动)
修改: CORE/MAC/src/pe/lim/limSendManagementFrames.c
未跟踪的文件:
(使用 "git add <文件>..." 以包含要提交的内容)
CORE/MAC/src/pe/lim/limSendManagementFrames.c.rej
然后git add将更改的文件加入stage,并将.rej文件删除。
最后使用
git am --continue.这样patch就成功打入了,而且也会记录里面的commit信息。
Tony Liu
2017-12-20
git patch 使用的更多相关文章
- I.MX6 git patch
/********************************************************************** * I.MX6 git patch * 说明: * 之前 ...
- linux git patch 和patch以及git diff 命令
1.git log 查看commit id,修改前为id1,修改后id2 2.根据id1到id2有几次提交来生成几个patch,否则的话会根据所有节点生成很多patch 比如: commit id2 ...
- git patch生成方法
先把改动commit掉,然后生产改动patch给提交代码的同事,详细操作过程例如以下: 改动代码的同事: git format-patch al821_xxx origin/al821_xxx 会生成 ...
- git patch
http://www.cnblogs.com/y041039/articles/2411600.html
- git apply、git am打补丁.diff 和 .patch【转】
本文转载自:https://www.jianshu.com/p/e5d801b936b6 前提: 生成patch: git format-patch -M master 生成指定patch,0163b ...
- git命令详解(转)
Git使用 git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看远程所有 ...
- git备忘录
1.git: patch does not apply git apply --ignore-space-change --ignore-whitespace mychanges.patch 2.Ge ...
- Git 操作常用命令
Git使用 1. git pull 更新服务器代码到本地a). git pull origin master是将origin这个版本库的代码更新到本地的master主分支 2. git push ...
- 【转】git命令
Git使用 1. git pull 更新服务器代码到本地a). git pull origin master是将origin这个版本库的代码更新到本地的master主分支 2. git push ...
随机推荐
- 菜鸟教程之工具使用(四)——借助JRebel使Tomcat支持热部署
JRebel是一个J2EE热部署的工具.使用它可以减少浪费8-18%的开发时间在项目的构建和部署上.虽然Java也提供了HotSpot的JVM,但是如果你修改的类中有方法名称变动的话,HotSpot就 ...
- tensorflow笔记2:TensorBoard
Tensorboard中的参数 Summary:所有需要在TensorBoard上展示的统计结果. tf.name_scope():为Graph中的Tensor添加层级,TensorBoard会按照代 ...
- 【驱动】linux设备驱动·扫盲
linux设备驱动 Linux系统把设备驱动分成字符设备.块设备和网络设备三种类型. 内核为设备驱动提供了注册和管理的接口,设备驱动还可以使用内核提供的其他功能以及访问内核资源. PCI局部总线 早期 ...
- Mac上把python源文件编译成so文件
把python源文件编译成so文件 前言 实际上属于一种代码混淆/加密的技术,大家知道python的源文件放在那里,大家是都可以看的,不像C语言编译出来可以拿编译后的东西去运行,所以就出现了这种需求. ...
- Django Aggregation聚合 django orm 求平均、去重、总和等常用方法
Django Aggregation聚合 在当今根据需求而不断调整而成的应用程序中,通常不仅需要能依常规的字段,如字母顺序或创建日期,来对项目进行排序,还需要按其他某种动态数据对项目进行排序.Djng ...
- Android 自动化测试
Python +Android +uiautomator test 在init中定义的方法 uiautomator 该模块是android的一个python包装uiautomator测试框架 ...
- 如何在wpf实现进度条
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; u ...
- [Linux实用工具]Linux监控工具munin的安装和配置
〇.摘要 munin是用于Linux系统(也可以监控windows系统)的监控软件.munin除了可以监控系统的各项数值之外,最大的好处是可以自己编写插件自定义监控需要的数值.整个系统的架构简单明了, ...
- RabbitMQ文档翻译——Hello World!(下)
Receiving That's it for our sender. Our receiver is pushed messages from RabbitMQ, so unlike the sen ...
- Python对字典(directory)按key和value排序
distance = {9149: 0, 9150: 26, 9151: 24, 9152: 24, 9153: 24, 9154: 27, 9155: 25, 9156: 30, 9158: 20, ...