【发布时间】:2013-07-04 11:09:04
【问题描述】:
考虑以下情况。有两个 git 存储库,代表项目 P 的两个版本。存储库 A 的 P v0.1 带有一些自定义补丁,而存储库 B 的 P v0.2 没有这些补丁。如何使用 git 将 A 中的补丁合并到 repo B 中?还是只手动检查哪些文件被修改并通过手动比较所有更改的文件来“导入”补丁更好?
【问题讨论】:
标签: git merge repository
考虑以下情况。有两个 git 存储库,代表项目 P 的两个版本。存储库 A 的 P v0.1 带有一些自定义补丁,而存储库 B 的 P v0.2 没有这些补丁。如何使用 git 将 A 中的补丁合并到 repo B 中?还是只手动检查哪些文件被修改并通过手动比较所有更改的文件来“导入”补丁更好?
【问题讨论】:
标签: git merge repository
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 了解详细信息。
【讨论】: