我需要将每个提交作为单独的补丁。每个补丁应该被放入自己的文件中。该命令可以创建一个目录或tar归档文件。
最接近的我能找到的是
git-format-patch
,但它会将所有内容���出为单个补丁。git-format-patch
,但它会将所有内容���出为单个补丁。git-format-patch
来实现这一点:git format-patch -o patches --root HEAD
patches
目录中。当然,你可以用特定提交的SHA或某个标签替换HEAD
。警告: 使用 git format-patch -o path/to/folder
,其中中间目录 path/to
尚未创建,这意味着命令将失败。
"git format-patch -o <outdir>
" 相当于 "mkdir <outdir>
",而不是 "mkdir -p <outdir>
",这已在 Git 2.24 (Q4 2019) 中得到纠正。
请查看 提交 edefc31(2019年10月11日),作者为Bert Wesarg (bertwesarg
)。
(由Junio C Hamano -- gitster
--于提交 f1afbb0中合并,日期为2019年10月18日)
format-patch
:创建输出目录的前导组件签名:Bert Wesarg
'git format-patch -o <outdir>
' 相当于 'mkdir <outdir>
',而不是 'mkdir -p <outdir>
'。
避免在可能存在安全隐患的前导目录上使用 'adjust_shared_perm
'。
通过暂时禁用 'config.sharedRepository
'(就像 'git init
' 一样)来实现。
并且(仍然适用于 Git 2.24,2019 年第四季度):
请查看 19c29e5 提交记录(2019年10月21日),提交者为Bert Wesarg (bertwesarg
)。
(合并于c555caa 提交记录,由Junio C Hamano -- gitster
--执行,于2019年10月24日)
t4014
:使输出目录测试自包含签名作者:Bert Wesarg
正如Gábor所指出的那样, edefc31873中的新测试("
format-patch
: create leading components of output directory",2019-10-11,Git v2.24.0-rc0 -- merge listed in batch #0)无法独立运行。
修复此问题。
format-patch
的?默认情况下,它应该为每个提交创建一个补丁文件。 - kfb