【转】git am使用详解
来源:互联网 发布:绘制论文世界地图软件 编辑:程序博客网 时间:2024/05/17 07:30
里面包含了提交的日志,作者,日期等信息。你想做的是把这些patch引入到你的代码库中,最好是也可以把日志也引入进来,方便以后维护用。传统的打patch方式是
patch -p1 <0001--JFFS2-community-fix-with-not-use-OOB.patch这样来打patch,但是这样会把这些有用的信息丢失。由于这些patch显然是用gitformat-patch来生成的,所以用git的工具应该就可以很好的做好。git-am 就是作这件事情。
在使用git-am之前, 你要首先git am –abort一次,来放弃掉以前的am信息,这样才可以进行一次全新的am。
不然会遇到这样的错误。
git-am可以一次合并一个文件,或者一个目录下所有的patch,或者你的邮箱目录下的patch.
下面举两个例子:
- 你现在有一个code base: small-src,你的patch文件放在~/patch/0001-trival-patch.patch
如果成功patch上去,你就可以去喝杯茶了。如果失败了, git 会提示错误,比如:
error: patch failed:android/mediascanner.cpp:452 error: android/mediascanner.cpp: patchdoes not apply这样你就需要先看看patch,然后改改错误的这个文件,让这个patch能够patch上去。
- 你有一堆patch, 名字是上面提到的那一堆patch,你把他们放在~/patch-set/目录下(路径随意)
(这里git就会按照文件名的顺序一次am这些patch)如果一切顺利,你所有的patch都OK了, 你又Lucky了。不过不顺利的时候十有八九,如果git am中间遇到了patch,am就会停到打这个patch的地方,告诉你是哪个patch打不上去。
比如我现在有一个文件file,有两个patch.
file 的内容是
两个patch分别是:
0001-add-line.patch:
From8869ccbced494e05738090af0002-change-line.patch:
Fromf756e1b3a87c216b7e0afea9运行
git am *.patch
来merge这些patch, 报错, Patch failed at0001 add line这样我们看0001这个patch,原来patch需要的是some text, 而file里面是thetext, 所以我们用编辑器把这行改成some text,
vi file git apply 0001-add-line.patch git add file git am --resolved在解决完冲突以后, 比如用gitadd来让git知道你已经解决完冲突了。
- 如果你发现这个冲突是无法解决的, 要撤销整个am的东西。 可以运行gitam –abort,
- 如果你想只是忽略这一个patch,可以运行git am–skip来跳过这个patch.
转自:
http://blog.chinaunix.net/uid-27714502-id-3435780.html
- 【转】git am使用详解
- (转)Android 中am 命令用法详解
- 使用git am打补丁
- git am
- git-am 和 format-patch 的使用
- [转]使用git-am合并git format-patch生成的一系列的patch
- [转]使用git-am合并git format-patch生成的一系列的patch
- am 详解
- I am back
- git-am用法
- git-am用法
- git am PATCH
- [转]git 在kernel开发中的使用
- [转]git 在kernel开发中的使用
- 【转】git rebase 用法
- Linux scp 使用详解
- Linux scp 使用详解
- 使用git-am合并git format-patch生成的一系列的patch
- git命令使用总结
- 这几天阅读了工作以来读过的最大的…
- ubuntu下的libre office使用
- Android高手进阶教程(一)——-Android开发常用命令集合
- 查询BINLOG日志
- 【转】git am使用详解
- 【转】git-rebase(认真看,分析很…
- 【转】git rebase 用法
- 【转】git reset各个选项的区别
- 用git rebase压缩多个commit
- 【转】Linux内核中的内存屏障&nbsp…
- 步骤:用git提交patch,并发送邮件…
- 【转】Linux Kernel Device Tree
- PullToRefresh使用详解(一)--构建下拉刷新的listView