我们有分支结构-主-开发-特性。我们从develop创建了feature,并在分支中进行了一些更改。我们不想合并分支中的所有更改。因此,尝试创建修补程序。
当我运行git格式补丁功能/分支名称时,它会返回空响应。但是,当我运行git format patch origin时,它会返回在develop和master之间丢失的文件列表。
我不确定为什么git格式补丁会为分支返回空响应?
我在这里试图实现的是为
feature
中而不是develop
中的所有更改创建补丁。
应该是:
git switch feature
git format-patch develop --stdout > feature_patches.patch
一个简单的git format-patch develop
将为每个提交创建单独的补丁文件。
但在后一种情况下,您可能需要使用新的--omit-empty
选项。
在Git 2.41(2023年第二季度(中;CCD_ 5">(man(和git format-patch --format=...
(man学习--omit-empty
以从输出中隐藏其格式化结果变为空字符串的引用。
请参阅提交aabfdc9(2023年4月7日(,作者:Öystein Walle(Osse
(
(由Junio C Hamano合并——gitster
——提交b64894c,2023年4月21日(
branch, for-each-ref, tag
:添加选项以省略空行签字人:Öystein Walle
如果给定的格式字符串扩展为空字符串,则仍会打印新行
这会使使用输出线宽更加繁琐
例如,git update-ref
(man(--stdin
不接受空行。将选项添加到";CCD_ 13">(man(,";CCD_ 14">(man(和";CCD_ 15">(man(不打印这些空行
默认行为保持不变。
git branch
现在在其手册页中包括:
git for-each-ref
现在在其手册页中包括:
git tag
现在在其手册页中包括:
--omit-empty
不要在格式展开的格式化引用后打印换行符到空字符串。