Git p4合并拉取请求

时间:2015-09-26 06:42:20

标签: git github merge perforce p4v

我有一个GitHub上的项目。本地我使用Perforce和git p4将提交推送到GitHub。我最近合并了一个pull请求,但我不能在我的生活中弄清楚如何将它从我的git repo合并到我的Perforce工作区。显然我可以从git repo中抓取文件并将它们手动移动到我的工作区中,说实话这个项目非常小,这不是问题,但如果我正在开展一个更大的项目,我想知道如何更好地做到这一点。

我的git repo很适合合并,但在尝试git p4 sync,submit和commit之后,没有任何东西将文件从repo移动到我的工作区。 git p4 rebase似乎只是从工作区转到repo,而不是相反。

有谁知道这个适当的工作流程?

1 个答案:

答案 0 :(得分:2)

您必须将GitHub仓库重新定义为具有线性历史记录 (在使用git rebase之前,而不是git p4 rebase),然后才能将提交复制到Perforce工作区。

来自Git-p4 documentation(强调我的):

  

在提交期间对合并冲突进行故障排除

     

Git历史记录可能包含合并。 Git-p4无法将合并提交复制到Perforce。在Git-p4将其复制到Perforce之前,您必须将Git历史记录重新定义或重写为线性。

在页面上再往下一点:

  

Git-p4无法将分支或合并的Git历史记录复制到Perforce。当[功能]完成时,他们将此功能添加到主分支而不是通过合并,而是通过在主分支上重新创建分支提交 ...有关详细信息,请阅读“git”变基”。

     

如果分支无法重新绑定为单个线性历史记录,请将其从历史记录中删除。