【问题标题】:Merging two versions of a project with git用 git 合并一个项目的两个版本
【发布时间】:2013-07-04 11:09:04
【问题描述】:

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

【问题讨论】:

    标签: git merge repository


    【解决方案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 了解详细信息。

    【讨论】:

    • 是的,当然,但更多的是关于你可以用 git 做什么;)
    • 是的,完全正确。我的意思是你不需要网络连接。由于 repo 只是一个 repo,只需将 repoA 复制到带有 repoB 的机器,然后使用答案前四行中的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-12
    相关资源
    最近更新 更多