git bundle和.patch的区别

4
我正在处理一个带有Git仓库的项目,并且想要导出我最近所做的更改并通过电子邮件发送。我需要了解制作git bundle和制作.patch文件之间的区别,以及哪个更好?我正在使用Tortoise Git,它给我创建.patch文件的选项,但它没有提供创建git bundle的选项,这是否意味着.patch文件更好?谢谢。
1个回答

2

“增量捆绑包”将依赖于并应用于先前创建的另一个捆绑包。

为了启动这个过程,您可以首先创建一个没有任何基础的捆绑包。
您可以使用标签来记住您上次处理到哪个提交,以便稍后使用增量捆绑包轻松更新其他存储库:

但是补丁可以应用于任何存储库。
在您的情况下,补丁是正确的选择(类似于命令{{link2:git format-patch}})。
您不需要依赖于先前的补丁,即可将您的补丁应用于远程存储库。


我没有在问题中写明,但我假设两个repo是同一个存储库。我想要更新这两个repo。 - Raúl Otaño
现在我明白了,这个补丁可以应用到任何仓库,不需要关心两个仓库是否有相同的根目录... - Raúl Otaño
1
@RaulOtaño 没错:一个补丁只是一组差异的集合,按照特定顺序应用。而一个捆绑包则是一个独立的仓库,你只能在现有捆绑包的基础上应用增量捆绑包。 - VonC
3
我做了一个小测试,尝试了"patch"和"bundle"两种方式,我发现用"patch"会创建一个与原提交不匹配的提交(提交注释相同,但id不同),然后,如果我更新了这两个项目,那么在更新的项目中将有两个提交,它们的注释都相同。但是用"bundle"就不会出现这种情况。 - Raúl Otaño

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接