常用命令 - 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 培训
简要教程
Created by HZX
Perforce是一个版本管理工具。与同类产品类似,如SVN,CVS,VSS,PVCS等等。安装简单、使用简单。采用当前流行的多检出策略,提交时做版本完整性检查。连接使用IP+port+deposit
name。
安装:
只有两个文件:P4vinst
和 perforceP4D, 分别对应客户端和服务器端。
服务器端安装后,自动启动一个服务,利用它的命令行窗口可以输入一些高级的管理命令。但实际上可以什么都不必做,全部可以通过客户端来完成。
客户端安装后,简单学习一下几个快捷按钮和了解基本的相关概念即可。
概念:
l
Refresh――刷新。
l
Deposit――相当于文件在服务器中管理仓库的意思。它记载者文件的变动历史,锁定等等信息。
l
Workspace――指你本地的工作空间。。
按钮:
l
Get lastest revision---获得最新的版本内容。
l
Check out――获得最新的版本内容。同时,在该文件上加一个标签符号,表示你正在或准备改动这个文件。如果你没有改动的打算,请不要做这个操作。其它人可以通过refresh按钮获得最新的状况,以便了解是否有人做check
out或lock的操作。可以进一步通过checked
out by查看具体是谁在做这样的操作,通知他尽快完成或解锁。
l
Mark for add—对于新加入文件,可以先加这个标签,再commit操作。
l
Mark for delete――对于删除文件操作,可以先加这个标签,再commit操作。
l
Submit――将本地的(改动的)文件或操作提交到deposit。对于删除操作,只是做了逻辑的删除操作。管理员可以物理地删除deposit中的文件记录。
l
Revert if unchanged—可能你对某个或某些文件做了check out操作,使用sommit操作将提交新的版本,相当与重复提交。而revert操作相当于对你的check
out做了一个undo(恢复)。
l
其它的按钮是各种各样的view(查看),可以在实践中了解。
高级技巧:
l
如果某人checkout出了一个文件,他无法立刻得到回应,有些改动必须执行,此时,你可以checkout出来,改动后commit到服务器。此时你的改动成为一个lastest
revision. 当他再次提交的时候,将通知他版本冲突,他必须改正后才能继续操作。应该尽量避免这样的事情的发生。有相关的工具可以合并改动和对比等。如果第一个人和第二个人都对某个文件做了checkout,第三个人想要做checkout操作,…只能说这样的团队的合作有问题,已经不是这个软件能解决的问题了。
l
如果你checkout出了一个文件,不希望在你改动期间别人作类似的操作,你可以执行lock操作,此时别人是无法做commit操作的。相应的,有一个unlock操作。