I.MX6 git patch

简介: /********************************************************************** * I.MX6 git patch * 说明: * 之前给I.MX6 Android打补丁使用的是shell的patch命令,发现总是出现 * png图片丢失,具体原因没找到,之后问了Charlie,他提到git diff相关的 * 内容,查了资料才知道原来那些补丁包是git专用的补丁包。
/**********************************************************************
 *                          I.MX6 git patch
 * 说明:
 *     之前给I.MX6 Android打补丁使用的是shell的patch命令,发现总是出现
 * png图片丢失,具体原因没找到,之后问了Charlie,他提到git diff相关的
 * 内容,查了资料才知道原来那些补丁包是git专用的补丁包。
 *
 *                                    2016-4-26 深圳 南山平山村 曾剑锋
 *********************************************************************/


一、参考文档:
    Git的Patch功能
        http://www.cnblogs.com/y041039/articles/2411600.html

二、补丁生成:
    1. shell命令diff生成标准patch;
    2. git diff生成标准patch;
    3. git format-patch生成的git专用补丁;

三、补丁应用:
    1. shell命令patch应用补丁;
    2. git am应用git专用补丁;

四、示例patch:
    1. 部分内容:  
        From fa73e3d15bfa531cf87e21fa4c4bcbbc517c4d9d Mon Sep 17 00:00:00 2001
        From: Romain Sertelon <romain@sertelon.fr>
        Date: Thu, 10 Jan 2013 12:31:43 +0100
        Subject: [PATCH] enhance ethernet handling thanks to Android x86 project
         patch

        See https://groups.google.com/forum/?fromgroups=#!topic/android-x86/YmWjtOLLdDs for patch origin

        Fix the follow issue:
        1. static IP
        2. reboot not work

        Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
        ---
         Android.mk                                         |   1 +
         api/current.txt                                    | 134 +++++
         core/java/android/app/ContextImpl.java             |   9 +
         core/java/android/app/DownloadManager.java         |   6 +
         core/java/android/content/Context.java             |  10 +
         core/java/android/net/EthernetDataTracker.java     |  24 +-
         core/java/android/provider/Settings.java           |  12 +
         core/jni/Android.mk                                |   1 +
         core/jni/AndroidRuntime.cpp                        |   2 +
         core/jni/android_net_ethernet.cpp                  | 421 ++++++++++++++++
         core/res/res/values/config.xml                     |   3 +
         .../java/android/net/ethernet/EthernetDevInfo.aidl |  19 +
         ......
    2. 说明:
        1. 不仅有diff的信息,还有提交者,时间等等;
        2. 仔细一看你会发现,这是个E-mail的文件,你可以直接发送它;
        3. 这种patch,我们要用git am来应用。

五、两种patch的比较(参考文章里的内容):
    1. 兼容性:很明显,git diff生成的Patch兼容性强。如果你在修改的代码的官方版本库不是Git管理的版本库,那么你必须使用git diff生成的patch才能让你的代码被项目的维护人接受。
    2. 除错功能:对于git diff生成的patch,你可以用git apply --check 查看补丁是否能够干净顺利地应用到当前分支中;如果git format-patch 生成的补丁不能打到当前分支,git am会给出提示,并协助你完成打补丁工作,你也可以使用git am -3进行三方合并,详细的做法可以参考git手册或者《Progit》。从这一点上看,两者除错功能都很强。
    3. 版本库信息:由于git format-patch生成的补丁中含有这个补丁开发者的名字,因此在应用补丁时,这个名字会被记录进版本库,显然,这样做是恰当的。因此,目前使用Git的开源社区往往建议大家使用format-patch生成补丁。

 

目录
相关文章
|
开发工具 git
git diff 生成patch合入代码
git diff 生成patch合入代码
638 0
|
开发工具 git
随心所欲生成git仓库任意一段commit的专用patch应用小实践
  随心所欲生成git仓库任意一段commit的专用patch应用小实践       我们在开发中,时不时的可能要去做一个patch给你的下线,或者你的合作者。
911 0
|
20天前
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
4月前
|
存储 开发工具 git
|
12天前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
23 3
|
4月前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
72 0
|
1月前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
49 1
[Git]入门及其常用命令
|
2月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
137 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
1月前
|
开发工具 git 开发者