Git Patch使用: 生成,导入,解决冲突

1. Git Patch

git patch包括2中: 标准diff 和git format-patch

2. 生成patch2.1 git diff 生成标准patch最简单, 但是很多信息没有git diff > my.diff2.2 git format-patch生成git专用patchgit format-patch -M masterformat-patch中包涵diff, git commit, time等等From c0b96dc1b770c45c49bd2945fe6fade8549f23b9 Mon Sep 17 00:00:00 2001From: XXX <XXX@gmail.com>Date: Wed, 20 May 2015 11:07:59 +0800Subject: [PATCH] 134-Video: Suport XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxTicket:Bug-6850Change-Id: I9984b500b06d60d92b9392fdb3b74ff7cca9857bSigned-off-by: XXX <XXX@gmail.com>— AndroidManifest.xml| 4 +– src/com/android/videoplayer/MainActivity.java | 35 ++++++++++++++++++——- 2 files changed, 27 insertions(+), 12 deletions(-)diff –git a/AndroidManifest.xml b/AndroidManifest.xmlindex bc0383e..f893901 100755— a/AndroidManifest.xml+++ b/AndroidManifest.xml@@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=""package="com.android.videoplayer"- android:versionCode="089"- android:versionName="0.8.9">+ android:versionCode="090"+ android:versionName="0.9.0"2.3 两种patch的比较:兼容性:很明显,git diff生成的Patch兼容性强。如果你在修改的代码的官方版本库不是Git管理的版本库,,那么你必须使用git diff生成的patch才能让你的代码被项目的维护人接受。除错功能:对于git diff生成的patch,你可以用git apply –check 查看补丁是否能够干净顺利地应用到当前分支中;如果git format-patch 生成的补丁不能打到当前分支,git am会给出提示,并协助你完成打补丁工作,你也可以使用git am -3进行三方合并,详细的做法可以参考git手册或者《Progit》。从这一点上看,两者除错功能都很强。

版本库信息:由于git format-patch生成的补丁中含有这个补丁开发者的名字,因此在应用补丁时,这个名字会被记录进版本库,显然,这样做是恰当的。因此,目前使用Git的开源社区往往建议大家使用format-patch生成补丁。

3. 导入patch3.1 diff

git apply my.diff

3.2 format-patch

git am 001Fix.patch

有时间,我们可以去爬山,

Git Patch使用: 生成,导入,解决冲突

相关文章:

你感兴趣的文章:

标签云: