我做了:
git p4 clone //depot/path/to/project/trunk/@all project
Run Code Online (Sandbox Code Playgroud)
创建master分支project.现在我想克隆//depot/path/to/project/release到release分支project.怎么做的?
更新:使用--detect-branches也不起作用.它报告它正在更新两个分支(当真正有三个分支时)但git branch报告只有master存在.
cmc*_*nty 10
以下是我使用git-p4时的设置说明.它可能会有所帮助:
下载p4 linux客户端.存储在文件~/bin或/usr/local/bin与chmod +x
以root身份设置git-p4
chmod 755 /usr/share/doc/git/contrib/fast-import/git-p4
ln -s /usr/share/doc/git/contrib/fast-import/git-p4 /usr/local/bin
Run Code Online (Sandbox Code Playgroud)为git-p4定义Git全局变量
git config --global alias.p4 '!git-p4'
git config --global git-p4.detectRenames true
git config --global git-p4.detectCopies true
Run Code Online (Sandbox Code Playgroud)设置定义为直接'p4'用法
export P4PORT=SERVER_NAME:PORT_NUMBER
Run Code Online (Sandbox Code Playgroud)设置登录凭据
export P4USER=USER_NAME
export P4PASSWD=PASSWORD
Run Code Online (Sandbox Code Playgroud)使用P4'client'选择Perforce分支
运行'p4 client'命令,仅添加您感兴趣的路径/分支.如果要命名客户端工作空间,可以在命令末尾添加可选的CLIENT_NAME参数.这将允许您在同一台计算机上使用不同的客户端定义.
$ p4 client [CLIENT_NAME]
View:
//depot/main... //CLIENT_NAME/main...
//depot/patch... //CLIENT_NAME/patch...
//depot/dev... //CLIENT_NAME/dev...
Run Code Online (Sandbox Code Playgroud)克隆存储库
简单的导入
git p4 clone --use-client-spec --detect-branches //depot@all GIT_DIR
Run Code Online (Sandbox Code Playgroud)高级导入
git init PROJ; cd PROJ/
git config git-p4.branchList main:patch
git config --add git-p4.branchList main:dev
git p4 clone --use-client-spec //depot@all .
Run Code Online (Sandbox Code Playgroud)将更改提交回Perforce
为了向Perforce提交更改,它需要一个客户端工作区,与git工作树分开.建议工作区与Perforce git工作目录位于同一文件系统中.
此外,对工作空间路径的引用存储在Perforce服务器上,并将在p4 submit命令期间使用.
第一步是创建本地客户端工作区.CLIENT_NAME是一个可选参数.如果您没有定义它,p4将使用您的主机名.
p4 client [CLIENT_NAME]
Run Code Online (Sandbox Code Playgroud)
在完成p4命令之前,您将被移动到文件编辑器.这使您可以在将任何客户端设置发送到服务器之前更改它们.您必须将Root值更改为您的git树之外的新目录(例如../p4-working)此外,
在退出之前验证Owner和Client值.这些值来自您的环境,无法在编辑器中更改.
p4 clients | grep USERNAME
Run Code Online (Sandbox Code Playgroud)
如果您没有使用默认客户端名称,则必须在本地git配置中定义它:
git config git-p4.client CLIENT_NAME
Run Code Online (Sandbox Code Playgroud)
当您准备推送代码更改时,请使用以下命令:
git p4 rebase
git p4 submit
Run Code Online (Sandbox Code Playgroud)
您可以在不再使用时从服务器中删除客户端:
p4 client -d CLIENT_NAME
Run Code Online (Sandbox Code Playgroud)