如何利用Git生成pitch和打pitch
利用Git生成和应用patch
- 什么是patch?简单来讲,patch中存储的是你对代码的修改
- 什么是生成patch?生成patch就是记录你对代码的修改并将其保存在patch文件中
- 什么是打patch?打patch就是将patch文件中对代码的修改,应用到源代码,从而把对代码的修改应用到code中。
尽管本身Linux命令里有diff和patch两个命令可以生成patch和打patch。但是有两个缺点值得注意:
1. 对单个文件或者多个文件,diff和patch这两个文件比较方便。对于git这种以project为单位的修改,尤其是涉及到多个文件夹下的多个文件的改动时,就很不方便
2. 无法保存commit的信息。
因此,推荐大家使用git的format-patch和am命令进行生成patch和打patch,用此方法获得的patch其实就是commit里提交的code修改以及commit信息。有如下好处:
1. 对于git这种以project为单位的修改,尤其是涉及到多个文件夹下的多个文件的改动时,非常方便,能够记录所有的改动(添加,修改,删除文件等)
2. 可以保存commit信息。
3. 能够灵活的获取patch。可以获取任意两个commit之间的patch集。
使用方法(直接给一些examples):
git format-patch
$ 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生成pitch和打pitch的更多相关文章
- Git学习:利用Git和TortoiseGit把代码传输到网络服务器
版本控制这块,一直用SVN.感觉挺好用,比VSS要好用些.不过,近期在网上,又谈到时下很流行的Git.就想看看Git到底是何方神圣.趁着五一在家无事,就静下心来,简单研究一下. 当下,网络上提供的基于 ...
- 利用Git进行团队协作
前言: 这里简单介绍一下Git的历史. 同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代.Linux 内核开源项目有着为数众广的参与者.绝大多数的 Linux 内核维护工作都花在了 ...
- 利用git向github中推送文件
/*游戏或者运动才能让我短暂的忘记心痛,现如今感觉学习比游戏和运动还重要——曾少锋*/ 如果对git不够熟悉的学者,可以参考:http://www.cnblogs.com/zengsf/p/75062 ...
- 利用hugo生成静态站点
动机 使用Markdown撰写博客,并以静态页面形式发布. 选择hugo 现在jekyll似乎更加流行,但是jekyll是基于Ruby的,在windows下安装很繁琐. 而hugo是用go写的,win ...
- [Git & GitHub] 利用Git Bash进行第一次提交文件
转载:https://blog.csdn.net/dietime1943/article/details/72420042 利用Git Bash进行第一次提交文件 快下班的时候,MD群里有人问怎么向g ...
- Xcode中利用git源代码版本号控制
git是一个版本号控制系统,能够通过命令行来调用,也有专门的桌面软件.这里主要介绍在Xcode中怎样利用git来进行版本号的控制. 一.创建git源 从Xcode5開始引入了使用git的一些新特性.将 ...
- 利用Git钩子实现代码发布
目录 1.什么是git钩子 2.安装一个钩子 3.常用的钩子脚本类型 3.1 客户端钩子 3.1.1 pre-commit 3.1.2 prepare-commit-msg 3.1.3 commit- ...
- Visual Studio C# 利用git和github协同开发时产生冲突的解决办
Visual Studio C# 利用git和Github协同开发时产生冲突的解决办法 前言:在前两天的助教作业中,发现了自己没有办法解决在用vs开发C#的窗体项目的过程中产生的冲突问题,在查阅了资料 ...
- 利用Swashbuckle生成Web API Help Pages
利用Swashbuckle生成Web API Help Pages 这系列文章是参考了.NET Core文档和源码,可能有人要问,直接看官方的英文文档不就可以了吗,为什么还要写这些文章呢? 原因如下: ...
随机推荐
- Spring mvc后台重定向页面,实际前端不跳转
1.ajax不支持重定向 ajax是不支持重定向的,因为ajax本身就是局部刷新,不重新加载页面的. 2.若后台出现需要重定向页面,可以设置唯一错误码 前端ajax公共调用后,凡是遇到这一类错误码,则 ...
- ubuntu18安装微信
1.从git下载tar包 wget http://github.com/geeeeeeeeek/electronic-wechat/releases/download/V2.0/linux-x64.t ...
- Linux----------samba服务的安装使用及简介
一.Samba简介 Samba是在linux和Unix系统上实现SMB协议的一个免费软件,由服务器端和客户端程序组成. Samba与nfs的不同,Samba比nfs多支持Windows SMB ( ...
- Technical
CAN FD (CAN with Flexible Data-Rate) is an extension to the original CAN bus protocol specified in I ...
- R实用小技巧
输出重定向 # 文本重定向 # cat cat("hello",file="D:/test.txt", append=T) # sink("filen ...
- openstack--10--知识点补充
关于uuid和Fernet方式比较 提供令牌有四种方式[fernet|pkiz|pki|uuid]默认是uuid.
- SaaS外包商 承接SaaS产品开发 Software-as-a-Service(软件即服务)
SaaS: Software-as-a-Service(软件即服务) 所谓SaaS.这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入.任何一个远程服务器上的应用都可以通过网络来运行,就是S ...
- 微信小程序托管 推广 开发 就找北京动点软件
微信小程序托管 外包 微信小程序外包 H5外包 就找北京动点软件 长年承接微信小程序.微信公众号开发 全职的H5开发团队,开发过几十款微信小程序公众号案例 欢迎来电咨询,索取案例! QQ:372900 ...
- vue.js安装过程(npm安装)
一.开发环境 vue推荐开发环境: Node.js: JavaScript运行环境(runtime),不同系统直接运行各种编程语言 npm: Nodejs下的包管理器. webpack: 它主要的用途 ...
- CentOS7用yum快速搭建LAMP平台
实验环境: [root@nmserver-7 html]# cat /etc/redhat-release CentOS release 7.3.1611 (AltArch) [root@nmserv ...