Git 将导出的副本与原始存储库合并

Git merge exported copy with original repository

从具有提交 A, B, C, D 的原始存储库中,有一个来自提交 B 的导出副本。复制的存储库从原始存储库获取最新更改 C, D 的最佳方式是什么?

编辑:通过导出我的意思是从提交[=12]中复制粘贴非git文件=] 到一个新的空 git 存储库中,因此不保留历史记录。

如果导出的副本仍然是 Git 存储库,您可以定义一个远程到另一个存储库并将其合并到:

git add remote OtherRepo <url>
git fetch OtherRepo
git merge OtherRepo/otherBranch

我喜欢 Jonathan.Brink 的回答,但如果您可以将其他存储库设置为远程(没有 ssh 等),您可以创建并应用补丁。

我不确定你是否可以从给定的提交创建补丁(如果你给命令一个提交 ID,它会修补所有直到提交)但你可以这样做

git format-patch master -1 A --stdout > commitA.patch
git format-patch master -1 B --stdout > commitB.patch

然后您可以在其他存储库上应用这些补丁

git apply --stat <commit.patch_files>