Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有类似于Perforce的git svn?_Git_Perforce - Fatal编程技术网

有没有类似于Perforce的git svn?

有没有类似于Perforce的git svn?,git,perforce,Git,Perforce,有没有一个工具可以让我获得与git svn for Perforce相同的功能?我在github上看到了git-p4,但看起来它将源代码从git回购导入到了Performce回购。它会反过来吗?它是作为一种常用工具使用,还是仅作为一种一次性、仅限导入的工具 场景:我是一名承包商,我的客户使用Perforce进行源代码控制,但我希望在本地使用git。git-p4可以双向使用。使用git-p4 sync或git-p4 rebase更新本地工作区,然后在本地使用git。准备将git提交到p4时,请使用

有没有一个工具可以让我获得与git svn for Perforce相同的功能?我在github上看到了git-p4,但看起来它将源代码从git回购导入到了Performce回购。它会反过来吗?它是作为一种常用工具使用,还是仅作为一种一次性、仅限导入的工具


场景:我是一名承包商,我的客户使用Perforce进行源代码控制,但我希望在本地使用git。

git-p4
可以双向使用。使用
git-p4 sync
git-p4 rebase
更新本地工作区,然后在本地使用git。准备将git提交到p4时,请使用
git-p4 submit

您将需要创建一个P4客户机(在git工作区之外的单独位置),并使用
git-P4
专门用于同步

我在本地使用它,它已经运行了好几个月,但有几个警告:

  • 您可以在本地使用git分支,但P4对它们一无所知。它只能看到主人

  • 文件重命名将在P4中显示为添加+删除,而不是首选的集成+删除

  • 在运行
    Git-p4 submit
    时会重新创建Git提交,因此时间戳将关闭,并且您可能与其他Git分支存在合并问题。(就像“从上游再基准恢复”问题一样。)


我刚刚完成了对您评论的回答。谢谢斯科特,这是个好消息。我很快就给你打一针。运行git-p4 submit时,它如何知道要提交到哪个p4分支/位置?我想看看如何处理不同的p4分支:)它使用您告诉它的p4客户端提交文件。因此,无论客户机映射到哪里。我想您可以随时更改p4客户机的映射,但您必须小心,因为git-p4使用
p4 changes…
查找哪些更改需要导入git,所以当您更改客户机映射时,git-p4可能无法获得同步您的git工作区所需的所有更改。添加了另一个有关如何重新设置git工作区基调的警告。
git-p4 submit
git-p4 submit重新设置工作目录基调?它使用什么作为基础?还有,还有一些事情:1。您说过必须在git工作区之外的单独位置创建p4客户端。所以说得很清楚,您不在p4工作区中git init吗?如果没有,您将git工作区放在哪里?如何在git工作区和p4工作区之间进行同步?2.您使用的最新p4同步脚本在哪里?我最近看到的是