如何将git存储库转换为单个.diff文件,并与修补程序一起应用
我有多个git存储库,希望为每个存储库生成一个大的.diff文件 然后,客户将使用类似于“补丁”实用程序的东西应用这个.diff补丁,以生成存储库中的文件,减去git历史记录 有人知道我怎样才能做到这一点吗 谢谢你抽出时间,如何将git存储库转换为单个.diff文件,并与修补程序一起应用,git,diff,patch,Git,Diff,Patch,我有多个git存储库,希望为每个存储库生成一个大的.diff文件 然后,客户将使用类似于“补丁”实用程序的东西应用这个.diff补丁,以生成存储库中的文件,减去git历史记录 有人知道我怎样才能做到这一点吗 谢谢你抽出时间, 马特如果你不想与任何东西有所区别……为什么不这样做呢 $ mkdir empty $ ls empty myproject $ diff -ruN empty myproject > diff-against-nothing.patch git diff 4B825
马特如果你不想与任何东西有所区别……为什么不这样做呢
$ mkdir empty
$ ls
empty myproject
$ diff -ruN empty myproject > diff-against-nothing.patch
git diff 4B825DC642CB6EB9A060E54BF8D6928FBEE4904>diff-to-nothing.patch
我发现git的魔法空沙1
diff
针对什么?我不确定我是否理解您正在尝试做什么,但您想要的分支签出的简单zip(不包括.git
目录)是否有效?我不想自己交付文件-我想要一个在应用时创建文件的补丁-而且zip将包含历史,这是我不理解的。您希望生成一个diff文件,而不是一个普通的zip/tar/archive文件,这样一个diff文件将重新创建所有内容?如果排除.git
,zip将不包含历史记录。是的,这是正确的。我想创建一个无差异。对于一些项目,git中有两个参考值,我可以区分,但是对于其他一些项目(这个问题的焦点),没有,所以我想要一个与nothing不同的参考值,以便以相同的格式交付它们