将 git hub存储库与 perforce depot 合并



我有项目 A。项目 A 在 perforce 和 github( Business decision) 中。它们都不同步。我看到我可以使用 git-p4 工具 http://git-scm.com/docs/git-p4 将 git 更改提交到 perforce。问题是它的第一个指令说是:

git p4 clone//depot/path/project

此命令将在 git hub中创建新的存储库。我不想这样。我希望我现有的 perforce depot 连接到退出的 github 存储库,然后将文件从 github 同步到 perforce。可能吗?

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

从根本上说,同一个项目有两个不同的历史,所以你需要找到一些方法来调和它们。

git-p4 可以从 Perforce 同步(创建一个新的 git 存储库),然后你可以添加一个指向 GitHub 的新遥控器,并从那里同步分支。

但是,这无助于解决合并历史记录的问题。

您可以:

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

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

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

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

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

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

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

希望这有帮助!

最新更新