如何在git中为每个提交创建补丁?

时间:2015-07-28 15:14:11

标签: git github version-control

我已经有了我的提交。如何从中创建补丁?我试着做

git format-patch mybranchname.patch 

或类似的东西,我不记得确切的命令,但它做的基本上是用最新的提交创建一个补丁,但我需要创建多个补丁,因为我有多个提交。如何为每个提交创建补丁?

1 个答案:

答案 0 :(得分:1)

git format-patch的语法描述为here。要在提交 R1 R2 之间按提交创建修补程序,请使用以下命令:

git format-patch R1..R2

这将在本地目录中为每次提交创建一个文件。

示例:

$ git log --oneline
190f82d I Remember Nothing
3b29748 Interzone
28f44ed Wilderness
e8c9ace Shadowplay
088991e She's Lost Control
878ccfa New Dawn Fades
5191dbf Insight
e81746f Candidate
0fb8338 Day of the Lords
57293e8 Disorder

我们假设您要为提交创建补丁"候选人"通过"我记得没什么"。您获取两个提交哈希并使用它们来定义提交范围:

$ git format-patch e81746f..190f82d

这将在当前目录中生成8个补丁文件,每个提交一个。