Git:检索特定提交

时间:2012-01-26 08:57:26

标签: git export commit

我需要在git存储库中将一组提交导出到存档。 我该怎么做呢? 使用svn,我可以选择提交并导出为zip。

2 个答案:

答案 0 :(得分:19)

将存储库导出到某个提交:

git archive -o export.zip <COMMIT>。将<COMMIT>替换为您要导出的提交编号。

在两次提交之间创建补丁:

git diff COMMIT1 COMMIT2 > patch.txt

答案 1 :(得分:10)

Git有一种为每次提交创建补丁的便捷方法。虽然这最初是作为一种格式化补丁的方式,以便可以通过电子邮件发送,但它们是提取一组更改的便捷方式。

您想要的命令是git format-patch,将这些格式化的补丁应用回git的方式是使用git am命令。

例如,如果您要将两个提交的C1和Cn导出为一组git补丁,则只需要:

git format-patch -k C1..Cn

这将创建一组编号的补丁(在当前目录中)。每个补丁都是提交的差异,以及提交信息(标题,评论,作者,日期等)。

这不仅仅是两个提交之间的简单差异文件将为您提供。