我需要在git存储库中将一组提交导出到存档。 我该怎么做呢? 使用svn,我可以选择提交并导出为zip。
答案 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
这将创建一组编号的补丁(在当前目录中)。每个补丁都是提交的差异,以及提交信息(标题,评论,作者,日期等)。
这不仅仅是两个提交之间的简单差异文件将为您提供。