Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将git存储库转换为单个.diff文件,并与修补程序一起应用_Git_Diff_Patch - Fatal编程技术网

如何将git存储库转换为单个.diff文件,并与修补程序一起应用

如何将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

我有多个git存储库,希望为每个存储库生成一个大的.diff文件

然后,客户将使用类似于“补丁”实用程序的东西应用这个.diff补丁,以生成存储库中的文件,减去git历史记录

有人知道我怎样才能做到这一点吗

谢谢你抽出时间,
马特

如果你不想与任何东西有所区别……为什么不这样做呢

$ 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不同的参考值,以便以相同的格式交付它们