git format-patch的使用
Posted 请给我倒杯茶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git format-patch的使用相关的知识,希望对你有一定的参考价值。
本文转载自:http://blog.chinaunix.net/uid-28621021-id-3487102.html
git format-patch的使用
1.在dev1分支上,打出所有dev1分支在master分支基础上的patch
2.在dev1分支上,打出所有dev1分支的所有patch
3.在dev2分支上,打出所有dev2分支在master分支基础上的patch
4.在dev2分支上,打出所有dev2分支的所有patch
5.在dev2分支上,打出所有相对于dev1分支的所有patch
6.比较两个分支
7.比较两个分支中单个文件的区别
8.将所有的commit信息保存在文件中
9.将dev1的分支merge到dev2分支
10.找到dev2在master分支上的commitID
撤消历史提交
1
git revert commit_ID
例子:提交历史如下
[email protected]:/work/test$ git log
commit 70869ac8cc36c05267aad41954f89d068d2d8142
Author: ss
Date: Thu Mar 21 20:12:58 2013 +0800
new a
commit 226e1a70d720f47d21d3664688d9dc34665ba84f
Author: ss
Date: Thu Mar 21 20:05:36 2013 +0800
commit c
commit ff45af7db705904bc49fc09679b2c384ce778d1a
Author: ss
Date: Thu Mar 21 20:05:23 2013 +0800
commit b
commit 76e846f8ee0106840767d5522c7d33d7f752527b
Author: ss
Date: Thu Mar 21 20:05:08 2013 +0800
commit a
commit 8e7979f6617ae9fc6ae3666002bf17482bd10e28
Author: ss
Date: Wed Feb 20 20:06:09 2013 +0800
Iitial
如果我想撤消
commit 226e1a70d720f47d21d3664688d9dc34665ba84f
Author: ss
Date: Thu Mar 21 20:05:36 2013 +0800
commit c
这笔提交;则使用命令:git revert 226e1a70d720f47d21d3664688d9dc34665ba84f
效果如下:
commit 40f83cb1fa45702ec31bcdd4426580551edfae8e
Author: ss <ss.ss< span="">.com>
Date: Thu Mar 21 20:13:07 2013 +0800
Revert "commit c"
This reverts commit 226e1a70d720f47d21d3664688d9dc34665ba84f.
commit 70869ac8cc36c05267aad41954f89d068d2d8142
Author: ss
Date: Thu Mar 21 20:12:58 2013 +0800
new a
commit 226e1a70d720f47d21d3664688d9dc34665ba84f
Author: ss
Date: Thu Mar 21 20:05:36 2013 +0800
commit c
commit ff45af7db705904bc49fc09679b2c384ce778d1a
Author: ss
Date: Thu Mar 21 20:05:23 2013 +0800
commit b
这样在这一比提交的东西将会被撤销
2
若想撤消
commit 70869ac8cc36c05267aad41954f89d068d2d8142
Author: ss
Date: Thu Mar 21 20:12:58 2013 +0800
new a
commit 226e1a70d720f47d21d3664688d9dc34665ba84f
Author: ss
Date: Thu Mar 21 20:05:36 2013 +0800
commit c
commit ff45af7db705904bc49fc09679b2c384ce778d1a
Author: ss
Date: Thu Mar 21 20:05:23 2013 +0800
commit b
这三笔提交
可以用命令
git reset --hard 76e846f8ee0106840767d5522c7d33d7f752527b 这笔ID为commi a
git reset --soft 70869ac8cc36c05267aad41954f89d068d2d8142
git commit -m "cccc"
以上是关于git format-patch的使用的主要内容,如果未能解决你的问题,请参考以下文章
“git format-patch”和“git diff”有啥区别?
你如何使用 git format-patch 将提交压缩到一个补丁中?
痞子衡嵌入式:第一本Git命令教程- 提交(commit/format-patch/am)
git merge --squash & git format-patch 将多个commit生成一个patch
利用 git format-patch 和 git send-email 把修改的 patch 文件发送给 ffmpeg-devel