前言

常见使用 p4 的方式就是使用Client 端,但是有的时候遇到这样的状况:

1. Client 端的操作方式的局限, 有些操作无法实现 (一般这样的状况不多)

2. 使用P4 和其他一些工具进行整合, 比如p4 整合自动部署

3. 使用代码的方式来使用p4, 比如使用Perl语言来与P4 进行交互

。。。。

以上的状况, 直接使用P4 Client 的话, 就没办法达成我们的要求了。这个时候自然就要使用到P4的命令行。

关于环境变量设置

Perforce的环境变量配置

下载安装完P4 之后, 就可以在Command 下使用P4了。

直接输入  p4 看看

回报 Port这样的变量没有。

想一下在使用P4 Client 的时候, 基本上会指定Server, Port 这样的信息, 在命令行的方式下,同样要指定,

设置环境变量就是方式之一:

可以直接在系统的环境变量中设置, 也可以直接在命名行下执行, 或是把以下命令写成一个批处理执行。

set P4PORT=IP:port
set P4USER=
set P4PASSWD = 

IP:port 是对应的p4 server 的服务器Ip和端口。

P4USER和P4PASSWD是分配的用户名和密码。

设置完成之后再运行 p4 看看

1. 到这里,有些不需要client  workspace 的p4 命令就可以使用了,比如查看某个服务端文件改动记录的命令: filelog

p4 filelog //serverpath/filename

这个时候, 有可能会出现:

使用字符集不匹配的问题:

可以通过设置  P4CHARSET 和  P4COMMANDCHARSET 来解决这个问题

我这里的设置是:

set P4CHARSET=utf16
set P4COMMANDCHARSET=utf8

2. 需要client  workspace 的p4 命令 就需要设置 P4CLIENT 的环境变量了,

(像sync 命令, 把服务端的文件同步到本地)

和上面的设置方式类似:

P4CLIENT=Workspace_name

不需要环境变量的方式

你可能会想, 使用环境变量的方式, 多少还是有一点麻烦:

比如如果是代码方式,在不同的机器上运行需要在不同机器去设置环境变量;

workspace 如果发生更改的话; 修改也不方便。

是否可以直接在命令中指定这些需要的信息呢? 答案当然是可以的。

p4 -C utf8 -p IP:port -u user -p password -c workspace_name

这条命名就代替了上面环境变量设置的方式。

接下来要执行什么命令直接加在后面就可以了。

还是以filelog 为例的话, 完整的命令就是:

p4 -C utf8 -p IP:port -u user -p password -c workspace_name filelog //serverpath/filename

是不是方便很多了^^

常用命令 - sync

最常使用的命令就是 sync 命令了, 这个命名是把服务端的数据更新到本地workspace 中

可以更新一个文件, 也可以更新一类文件, 还可以更新目录下所有的文件

1) 更新单个文件:

p4 -C utf8 -p IP:port -u user -p password -c workspace_name sync //serverpath/filename.txt

2) 更新目录下所有文件

p4 -C utf8 -p IP:port -u user -p password -c workspace_name sync //serverpath/...

3)更新目录下某种后缀名的文件

p4 -C utf8 -p IP:port -u user -p password -c workspace_name sync //serverpath/*.txt

4)获取目录下版本号为 2 的某种后缀名的文件

p4 -C utf8 -p IP:port -u user -p password -c workspace_name sync //serverpath/*.txt#2

这种用法在代码开发时会比较有用。 比如目录下文件太多, 只想取版本号大于等于2的文件, 也就是说对于没有更动过的文件不去管它。

这里获取的是第二个版本, 而以上没有加版本的状况获取的都是最新版本。

5) -f 参数, 强制获取

强制获取就是如果本地有改动的话, 强制使用服务端的文件替换本地文件。

这个和在Client 使用以下方式的效果是一样的:

常用命令 - filelog

filelog 可以用来查看单个文件的Check in 记录。类似:

p4 -C utf8 -p IP:port -u user -p password  filelog //serverpath/filename.txt

执行后打印的信息的格式是:

... #rev change chnum action on date by user@client (type) 'description'

常用命令 - changes

changes 可以查看服务端某个目录下所有的更改记录

p4 -C utf8 -p IP:port -u user -p password changes //serverpath/...

[Perforce系列—] 1. 使用Perforce 命令 与常用命令相关推荐

  1. Linux学习系列二:Linux中的常用命令

    这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...

  2. SecureCRT常用Linux命令,SecureCRT 常用命令

    常用命令: 一.ls 只列出文件名 (相当于dir,dir也可以使用) -A:列出所有文件,包含隐藏文件. -l:列表形式,包含文件的绝大部分属性. -R:递归显示. --help:此命令的帮助. 二 ...

  3. ffmpeg 命令_ffmpeg常用命令行集锦

    在实际工作中,通常需要ffmpeg作为工具来验证一个问题,比如播放一个视频,提取一个码流,转码视频,转封格式等,用的时候才发现忘记了相关命令,Google一番花老大的力气才找到自己需要的命令行.本文总 ...

  4. widnows命令行常用命令使用 和 windows创建文件,写内容到文件

    widnows命令行常用命令使用 和 windows创建文件,写内容到文件 1 查看windows命令行常用命令的使用文档 1.1 查看windows中命令行命令 1.2 windows查看某个指定命 ...

  5. mysql的命令行常用命令_MySQL Command Line[mysql命令行常用命令]

    MySQL Command Line[mysql命令行常用命令] (2012-04-25 16:51:59) 标签: it 第一招.mysql服务的启动和停止 net stop mysql net s ...

  6. linux里面查找替换命令,Linux常用命令(一)————查找和替换

    1. 查找一个字符串 一个字符串是一行上的一个或几个字符. 为查找一个字符串,在vi命令模式下键入"/",后面跟要查找的字符串,再按回车.vi将光标定位在该串下一次出现的地方上.键 ...

  7. 百度谷歌雅虎搜索引擎常用命令,搜索引擎常用命令

    百度谷歌雅虎搜索引擎常用命令,搜索引擎常用命令 intitle命令: intitle的含义在于搜索网页标题中含有的关键词,例如想搜索标题中含有"it"的内容,就搜索intitle: ...

  8. linux系统print命令,linux常用命令 print格式输出

    格式化输出命令 printf '输出类型 输出格式' 输出内容 输出类型: %ns 输出字符串,n是数字指代输出的几个字符 %ni 输出整数,n是数字指代输出几个数字 %m.nf 输出浮点数.m和n是 ...

  9. Docker+NETCore系列文章(三、Docker常用命令)

    文章目录 Docker常用命令 1.帮助命令 2.镜像命令 3.容器命令 3.1新建容器并启动 3.2查看容器列表 3.3退出容器 3.4删除容器 3.5启动和停止容器 4 其他常用命令 4.1后台启 ...

最新文章

  1. 全球六大顶级域名动态:7月上旬.COM新增18.4万个
  2. 错误类型、混淆矩阵及目标检测常用评价指标
  3. java访问oracle集群,JAVA查询Oracle数据库集群连接字符串
  4. ubuntu 打不开商店怎么办
  5. 一步一步写算法(之递归和堆栈)
  6. HDU-2510(深搜)
  7. MySQL-快速入门(16)MySQL Cluster,集群技术
  8. 基于matlab的巴特沃思数字滤波器设计,基于Matlab巴特沃斯低通滤波器的设计
  9. MATLAB中simulink的模糊PID控制
  10. 在 html 中用加色法混合颜色
  11. 部署RPA如何实现投资回报率最大化?评估ROI的6大指标
  12. java.io.IOException: Cannot create directory /home/app/hadoop-2.4.1/data/dfs/name/current
  13. ps多行文字如何左右对齐
  14. java格式化输入输出整理(不定时更新)
  15. Queue和Deque
  16. 数据库基本知识和命令
  17. java web中的中文乱码问题和解决方法
  18. 2000-2020年31省执业律师人数数据
  19. HTML 行内元素 与 块级元素
  20. 新概念英语1册71课

热门文章

  1. scala helloworld
  2. 机器学习之01篇:初步窥探
  3. 20162312 2016-2017-2《Java程序设计》课程总结
  4. 《java入门第一季》之类面试题
  5. firefox os 2.0版模拟器QQ初体验
  6. Android之使用Http协议实现文件上传功能
  7. “C语言” 读书札记(五)之[让我们一起学习汇编吧!(段)]
  8. cms 移动根节点到根节点中的子节点,根节点消失解决办法
  9. Css兼容:如何解决IE7和IE8的BUG
  10. pip导包CalledProcessError: Command ‘(‘lsb_release‘, ‘-a‘)‘异常处理