我需要为某人做一个补丁(他们不使用git) – 一个由提交改变的文件的zip文件。
我以为像这样
git archive –format = zip commitguid> myfiles.zip
但是这提取了整个事情,而不仅仅是更改的文件。 有没有办法做到这一点? 为了使它更复杂 – 是否有任何方式做多个提交(是的,我应该分支之前进行更改,但事后来看)
编辑
基于下面的@琥珀解决scheme,我可以在Git Bash中的2个步骤中完成这个7Zip安装在c:\ data \ progs的窗口。
git diff --name-only a-sha b-sha > tmp.txt /C/data/progs/7za.exe a myzip.zip @tmp.txt
git diff --name-only <oldsha> <newsha> | zip dest.zip -@
填写适当的SHAs / refs。 例如,要创建仅在master
分支和feature
分支之间更改的文件的zip文件:
git diff --name-only master feature | zip dest.zip -@
另请参阅git help format-patch
。 它会产生一个提交的所有变化,提交作者,日期,消息和一些不错的差异统计的差异补丁。 你可以压缩并发送。