cfs*_*ras 14
git format-patch <commit-ish> 为指定提交后的每个提交创建一个补丁文件.
因此,要导出所有未删除的提交,只需输入即可
git format-patch origin/master -o patches/
Run Code Online (Sandbox Code Playgroud)
并将所有这些输出到patches/目录中.
如果您想拥有一个文件,请添加--stdout:
git format-patch origin/master --stdout > patches_$(date -I).patch
Run Code Online (Sandbox Code Playgroud)
这将创建一个名为patches_2014-10-03.patch(或其他日期)的文件,其中包含所有补丁.注意: patch或其他简单的补丁应用程序无法处理生成的文件.它只适用于git am.
旁注:
更容易(更强大)的事情可能是将您的回购副本保存在拇指驱动器上或类似.然后将thumbdrive设置为remote(git remote add thumb /media/thumbdrive),将提交推送到它(git push thumb master),当你回到公司时,从驱动器拉出并推到原点.
您可以创建一个捆绑包(即代表 git 存储库的文件,您可以从中拉取),而不是创建patch 。
在您的情况下,需要增量捆绑。
git bundle create ../yourRepo.bundle" --since=x.days.ago --all
Run Code Online (Sandbox Code Playgroud)
代替x为您想要放入该捆绑包中的天数:不要害怕在该存储库中放入“太可能”的天数:从您的捆绑包中克隆的人将仅获得新的提交,而不是他/她已经拥有的提交在本地仓库中。
捆绑包是单个文件,就像补丁一样,但可以用作 Git 存储库:易于复制且易于使用(作为常规 Git 存储库)。
如果您唯一的用途是通过从远程存储库(您无法直接推送)完成提交来完成本地存储库,那么这比补丁更容易。