为了账号安全,请及时绑定邮箱和手机立即绑定

为特定的提交生成一个git补丁

为特定的提交生成一个git补丁

Git
慕神8447489 2019-11-04 14:21:24
我需要编写一个脚本来为SHA1提交编号列表创建补丁。我尝试使用git format-patch <the SHA1>,但是自SHA1以来,每次提交都会生成一个补丁。生成几百个补丁后,我不得不终止该过程。有没有一种方法只能为特定的SHA1生成补丁?
查看完整描述

3 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

尝试:


git format-patch -1 <sha>

要么


git format-patch -1 HEAD

根据上面的文档链接,该-1标志告诉git补丁中应包含多少个提交;


-<n>


     从最顶层的提交准备补丁。


使用以下命令应用补丁:


git am < file.patch


查看完整回答
反对 回复 2019-11-04
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

为了从特定sha1哈希的最高提交生成补丁:


git format-patch -<n> <SHA1>

从头开始的最后10个补丁在一个补丁文件中:


git format-patch -10 HEAD --stdout > 0001-last-10-commits.patch


查看完整回答
反对 回复 2019-11-04
?
倚天杖

TA贡献1828条经验 获得超3个赞

此命令:


git format-patch -1 HEAD

替换HEAD为特定的哈希或范围。


将生成最新的补丁文件提交格式类似于UNIX邮箱格式。


-<n> -从最顶层的提交准备补丁。


然后,您可以通过以下方式以邮箱格式重新应用补丁文件:


git am -3k 001*.patch

请参阅:man git-format-patch。


查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 674 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信