[SCM]源码管理 - perforce FQA
1 p4 delete
p4中文件删除以后,以前的版本任然保留。可以在p4v中选择view->Filter deopt -> show deleted depot files来设置显示删除的文件。 p4从不真正删除文件。
2 p4 label 和 branch 区别
label相当于是个标记,只包含了文件名和版本信息;
branch相当于是将原有的代码重新copy一份;
label用来标记重要的源代码时刻,但是如果要某时刻的源代码copy出来继续开发,必须使用branch。
3 changelist & label 区别
从上面的操作来看,label和changelist拥有相同的功能,都可以用来将代码sync到某个状态。label可以简单地认为是changelist的一个别名。 label不仅指定了文件的版本,而且还指定了那些文件包含在label中。
如何知道哪些文件需要被resolve?
p4 sync
p4 resolve -n
p4 文件版本的特殊规定
Type Syntax Example
Revision number #<integer> #10
Changelist number @<integer> @130
Client name @<client_spec> @p4admin_ws
Label name @<label> @release1
Latest revision #head
Last synced revision #have
Non-existent revision #none or #0
Date @yyyy/mm/dd @2004/01/30
Date and time @yyyy/mm/dd:hh:mm:ss @2004/01/30:13:30:00
如何删除在一个不存在的client上的pending change list?
p4 -c <client> change -d <changelist>
如何让p4自动地删除空的目录?
将client的设置改为rmdir,下次sync将OK。
如何禁止别的机器或用户使用你的client?
设置client的host和owner,然后选中locked选项。
4 本地的非default的CL在提交后会改变,因为CL是自增的形式的,每次提交CL加1。但是本地的pending的CL将不会在p4 server出现。 例如你本地的pending CL 10在一个月后提交的时候在server上可能为100,且CL 10 不会在server上出现了。
完!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)