0

考虑以下场景。有两个 git 存储库,代表项目 P 的两个版本。存储库 A 的 P v0.1 带有一些自定义补丁,而存储库 B 的 P v0.2 没有这些补丁。如何使用 git 将补丁从 A 合并到 repo B?还是通过手动比较所有更改的文件来手动检查哪些文件被修改并“导入”补丁更好?

4

1 回答 1

1

git 的美妙之处在于 repo 是一个 just repo,因此您可以从 repo B 中拉出 repo A 分支,就像您从远程操作一样

git remote add repoA /path/to/repoA/.git
git pull repoA

这是假设它们在同一个文件系统上。如果他们不是你需要使用一些协议。可能最简单的方法是

repoA
--------
git daemon --base-path=path/to/one/dir/above/repoA --export-all

repoB
--------
git remote add repoA git://<repoA_IP>/repoA
git pull repoA

repoA
--------
shutdown daemon(Ctrl+C)

您需要在端口 9418 上启用流量。不幸的是,您可能会在 windows 下运行它时遇到各种错误,但至少有些是可以修复的 - 您需要咨询 google 了解详细信息。

于 2013-07-04T11:15:47.540 回答