假设网络访问是零星的,没有中央服务器,那么使用 git 保持三个或更多分支同步的最佳方法是什么?有没有办法只提取我的增量,通过电子邮件发送这些增量,然后在另一端合并它们?

有帮助吗?

解决方案

虽然“git format-patch”和“git am”是管理来自非 git 源的补丁的好方法,但对于 git 存储库,您应该研究“git bundle”。

“git bundle”以及子命令“create”和“unbundle”可用于创建和使用增量提交的二进制 blob,该二进制 blob 可用于通过替代文件传输机制(例如,通过“弱”链接)传输分支历史记录。电子邮件、普通邮件等)。

git bundles 将保留提交 ID,而 format-patch/am 不会导致目标提交不相同(不同的 SHA1)。

其他提示

请参阅主页 git-format-patchgit-am. 。这是系统最初设计的工作方式之一。

git 中有一些工具可用于邮寄补丁或导入邮寄的补丁: 吉特-阿姆 (从邮箱应用补丁), git 格式补丁 (准备好用于邮寄的电子邮件), git 发送电子邮件 (通过邮件发送补丁集合)等。man 1 git 有一个完整的列表。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top