【问题标题】:Merging git hub repository with perforce depot将 github 存储库与 perforce 库合并
【发布时间】:2015-02-03 23:06:55
【问题描述】:

我有项目 A。项目 A 和 github 一样有效(业务决策)。他们俩都不同步。我看到我可以使用 git-p4 工具http://git-scm.com/docs/git-p4 将 git 更改提交到 perforce。问题是它的第一条指令是:

git p4 clone //仓库/路径/项目

此命令将在 git hub 中创建一个新的 repo。我不要那个。我希望我现有的 perforce depot 连接到退出的 github repo,然后将文件从 github 同步到 perforce。可能吗?

【问题讨论】:

    标签: github perforce git-p4


    【解决方案1】:

    没有。 git p4 基本上只是 Perforce 的一个包装器。它读取对 Git 存储库的更改并发出正确的 Perforce 命令来提交它们(反之亦然——它读取对 Perforce 签出的更改并发出正确的 Git 命令以相应地更新 Git 存储库)。因此,您需要有一个 Perforce 结帐一个可以与该 Perforce 结帐对话的本地 Git 存储库。

    【讨论】:

    • 谢谢米帕迪。但是,如果我为 git p4 和 git 提供了一个本地 Git 存储库,它可以正常工作吗?
    • @user2452057:是的。 git-p4 只是一些 Perforce 命令的薄包装,允许您将 git 与 Perforce 一起使用,因此您可以在使用 git-p4 克隆的同一个 repo 上使用所有 git 工具。
    【解决方案2】:

    从根本上说,同一个项目有两个不同的历史记录,因此您需要找到某种方法来协调它们。

    git-p4 可以从 Perforce 同步(创建一个新的 git 存储库),然后您可以添加一个指向 github 的新远程,并从那里同步分支。

    但是这对合并历史的问题没有帮助。

    您可以:

    1. 使用 Perforce,重写 github 历史
    2. 使用 Github 历史记录,让您的 perforce 管理员/Perforce(公司)重写您的 Perforce 历史记录。

    2 可能(政治上)不可能。在技​​术上可能是不可能的。 Perforce 旨在防止历史被更改。

    1 将破坏从您的 github 存储库克隆的任何人。

    【讨论】:

      【解决方案3】:

      您可能想看看 Git Fusion,它是 Git 和 Perforce 之间的桥梁:

      http://www.perforce.com/git-fusion

      这篇知识库文章提供了一个示例,说明您可能希望如何使用 Perforce 和公共 Git 存储库中的项目:

      http://answers.perforce.com/articles/KB/7481/

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 2011-09-03
        • 2022-12-19
        • 2021-03-05
        • 2010-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-05
        相关资源
        最近更新 更多