我有项目 A。项目 A 和 github(业务决策)一样有效。他们俩都不同步。我看到我可以使用 git-p4 工具http://git-scm.com/docs/git-p4将 git 更改提交到 perforce。问题是它的第一条指令是:
git p4 clone //仓库/路径/项目
此命令将在 git hub 中创建一个新的 repo。我不要那个。我希望我现有的 perforce 仓库连接到退出的 github 存储库,然后将文件从 github 同步到 perforce。可能吗?
我有项目 A。项目 A 和 github(业务决策)一样有效。他们俩都不同步。我看到我可以使用 git-p4 工具http://git-scm.com/docs/git-p4将 git 更改提交到 perforce。问题是它的第一条指令是:
git p4 clone //仓库/路径/项目
此命令将在 git hub 中创建一个新的 repo。我不要那个。我希望我现有的 perforce 仓库连接到退出的 github 存储库,然后将文件从 github 同步到 perforce。可能吗?
从根本上说,同一个项目有两个不同的历史,所以你需要找到某种方法来协调它们。
git-p4 可以从 Perforce 同步(创建一个新的 git 存储库),然后您可以添加一个指向 github 的新远程,并从那里同步分支。
然而,这无助于合并历史的问题。
您可以:
2 可能(政治上)不可能。在技术上可能是不可能的。Perforce 旨在防止历史被更改。
1 将破坏从您的 github 存储库克隆的任何人。
你可能想看看 Git Fusion,它是 Git 和 Perforce 之间的桥梁:
http://www.perforce.com/git-fusion
这篇知识库文章提供了一个示例,说明您可能希望如何使用 Perforce 和公共 Git 存储库中的项目:
http://answers.perforce.com/articles/KB/7481/
希望这可以帮助!
不git p4
,基本上只是 Perforce 的一个包装器。它读取对 Git 存储库的更改并发出正确的 Perforce 命令来提交它们(反之亦然——它读取对 Perforce 签出的更改并发出正确的 Git 命令以相应地更新 Git 存储库)。因此,您需要有一个 Perforce 结帐和一个可以与该 Perforce 结帐对话的本地 Git 存储库。