patch补丁
有时候因为条件限制,我们不能使用git仓库进行代码的更新工作。
例如你需要更新服务器的代码,一般的生产环境上面的代码是某个版本的代码而非整个git仓库。
当你进行了一些开发,你需要将你的代码部署到服务器上面,进行一系列测试。
这时,使用patch是一个不错的办法。
- 确保你的服务器上安装了
patch
命令。如果没有安装,在联网状态下安装一下也就几分钟的事。 - 在你本地生成patch文件。在你的git仓库中,生成patch 文件有两种方法。
- 将你的patch文件拷贝到你的服务器工程目录中,使用命令
patch -pn < patch_file
n
的意思就是忽略掉几个/
。例如:
如果你把这个patch 文件放到你服务器上的--- a/aaa/bbb/ccc.py +++ b/aaa/bbb/ccc.py
../aaa
目录,那么你只需要忽略掉上面的diff比较的文件路径的第一个/
就可以了,也就是你应该使用命令:patch -p1 < patch_file
注意
应用patch到时候会有一些输出,注意看是否有错误信息。
另外,应用完成以后记得查找一下.rej
文件,如果有这种文件表示应用失败,一般的原因就是代码冲突。
不要慌,打开这个.rej
以及相应的.orig
文件对比一下你就知道冲突在哪了,解决掉冲突就可以了。
撤销patch
将打上的补丁给恢复回去:
patch -R pn < patch_file
相关阅读
Spring Boot 中使用 @Transactional 注解配置事务管理
事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种
下载 Modernizr 与其它 JavaScript 库相同的是,Modernizr 可提供 development 和 production 版本。 与大多数库相比,唯一的不同之
paste工具主要用于将多个文件的内容合并输出,合并动作为按行将不同文件的行信息放在一行,默认情况下不同文件的数据用空格或tab键进
简介:这是一篇超级简单的入门文章 如果说是JQuery是手工作坊,那么Vue.js就像是一座工厂,虽然Vue.js做的任何事情JQuery都可以做,但
最近,一些店长来问网上开店的小编,为啥有些店铺的名字不是无规律的数字而是别的?这里给大家说说这是什么原因。 首先,他使用的是淘