====== p4版本管理工具使用 ======
===== - p4 sync =====
下载,更新.
* 更新全部,p4 sync
* 更新指定文件, p4 sync //Acme/dev/jam/Jamfile
* 更新指定文件指定版本, p4 sync //Acme/dev/jam/Jamfile#1
* 更新指定目录, p4 sync //Acme/dev/jam/...
一般非stream下载方式
mkdir 11111
cd 11111
setenv P4CLIENT xxxxx
p4 client; # then edit the view by yourself
p4 sync
===== - p4 add =====
添加文件到p4 changelist, 然后通过p4 submit命令就可以上传到p4。
这个跟git有点类似。
===== - p4 edit =====
将文件放入p4 changelist, 置为open状态。只有放入到changelist里面的文件才会在p4 submit的时候上传到p4库。
可以理解是git add命令。
===== - p4 revert =====
将已经放入p4 changelist,但是还没有p4 submit的文件,回退到修改前的版本。
p4 revert xxxx_file
p4 revert //...
Revert every file you have open, in every one of your pending changelists, to its pre-opened state.
p4 revert -c default //...
Revert every file open in the default changelist to its pre-opened state.
p4 revert -n *.txt
Preview a reversion of all open .txt files in the current directory, but don't actually perform the revert.
p4 revert -c 31 *.txt
Revert all .txt files in the current directory that were open in changelist 31.
p4 revert -a
Revert all unchanged files. This command is often used before submitting a changelist.
===== - p4 diff =====
只有放入p4 changelist里面的文件 (即需要先用p4 edit xxx命令),才可以进行p4 diff。
这跟git不一样,git可以直接git diff, p4 有些麻烦。
===== - p4 files =====
显示p4指示路径有哪些文件。
p4 files //depot/... Provides information about all files in the depot.
p4 files //clientname/... Provides information about all depot files visible through the client view.
p4 files @2011/03/10 Provides information about all depot file revisions that existed on March 10, 2011.
p4 files @2011/03/31:08:00,@2011/03/31:17:00 Lists all files and revisions changed during business hours on March 31, 2011.
p4 files //depot/proj2/...@p2lab Lists files and revisions under the directory //depot/proj2/... tagged by label p2lab.
p4 files //depot/file.c Show information on the head revision of //depot/file.c. (that is, the highest revision in the implied range of #1,#head)
p4 files -a //depot/file.c Show information on every revision of //depot/file.c (that is, all revisions in the implied range of #1,#head)
p4 files -A //arch/depot/proj/... If an administrator has used p4 archive to transfer //depot/proj/... to an archive P4 Command depot named arch, displays information about the files in the archived project.
===== - p4 print =====
将p4库上指定文件,指定版本的内容打印出来,可以使用>号打印到一个文件, 比如:
p4 print //p4_depot_xxx/file_xxx#20 > 1
这样可以用gvimdiff命令,执行本地文件与指定p4库版本的文件进行比较。
===== - p4 submit =====
将p4 changelist里面的文件上传到p4
p4 submit -d "xxxx"
===== - p4 changelist =====
显示或编辑进入p4 changelist的文件,我本人一般只是用''p4 changelist -o''命令来显示changelist内容。
===== - p4 have =====
查看本地文件版本
p4 have Jamfile
===== - p4 label =====
打tag
===== - p4 labels =====
Display list of defined labels. 它是显示全部的tag, 如果需要指定人打包的可以加上-u xxx参数
示例:
p4 labels -u xxx | grep tag_xxx
===== - p4 filelog =====
查看指定文件的历史版本信息,注意这里显示是的直到p4库上最新的修改,不是到当前目录p4 client版本为时间截止的修改历史。
p4 filelog xxxx
p4 filelog //p4xxxx/xxxx
===== - p4 changes =====
查看最近提交的版本list log
#查看某库近10次版本提交log
p4 changes -s submitted -m 10 //p4_depot/xxxx/....
#等价于
p4 changes -m 10 //p4_depot/xxxx/....
===== - p4 delete =====
p4 删除文件。
===== - p4 client =====
删除p4 client
p4 [g-opts] client -d [-f [-Fs]]clientname