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 ...
随机推荐
- MinGW环境libssh2安装
由于实习工作中要用到基于sftp协议开发一个网络程序,同时要实现运行在Windows平台上,找来找去就这个libssh2库好用,在网络上算是有那么一点点的文档可以看.这个库还不是现成的,还要进行源代码 ...
- /etc/ssh/sshd_config 关建字:PermitRootLogin no 禁示以root身份登录服务器
这种情况,不会影响,普通用户su到root
- how many shards and replicas should be set for Elastic Search
https://cpratt.co/how-many-shards-should-elasticsearch-indexes-have/ https://blog.trifork.com/2014/0 ...
- 每日英语:How to Save Detroit
Detroit is beautiful-though you probably have to be a child of the industrial Midwest, like me, to s ...
- 【SimpleMsgPack.NET】发布一个msgpack协议C#版本的解析开源库
这两年一直都关注这IOCP在网络通信这方面的应用,当然数据的传递是经常需要的.今年接触了MsgPack格式,发现他用来做传输时数据打包真是太爽了.因为他可以直接打包二进制数据,不需要任何的转换.有人会 ...
- Eclipse GBK批量转UTF-8插件
最近需要把Android项目转Android Studio,由于之前是eclipse开发,而且坑爹的是编码还是GBK的,转到Android Studio中文都是乱码,如果一个文件一个文件ctrl+c的 ...
- Logstash使用jdbc同步MySQL中的数据
[--26T20::,][WARN ][logstash.inputs.jdbc ] Exception when executing JDBC query {:exception=>#< ...
- debian下创建新用户useradd
1.使用sudo: sudo useradd -m abc -g sudo -s /bin/bash -d /home/abc sudo passwd abc 2.直接在root用户下: groupa ...
- scala工程导入报错:scalatest_2.10-1.9.1.jar is cross-compiled with an incompatible version of Scala (2.10).
错误原因: The Scala IDE tries to check if binary incompatible Scala libraries have been inadvertently mi ...
- 1. CNN卷积网络-初识
1. CNN卷积网络-初识 2. CNN卷积网络-前向传播算法 3. CNN卷积网络-反向更新 1. 前言 卷积神经网络是一种特殊的深层的神经网络模型,它的特殊性体现在两个方面, 它的神经元间的连接是 ...