Perforce使用指南_forP4V
第一章???前言
????Perforce SCM System是一款構(gòu)建于可伸縮客戶(hù)/服務(wù)器結(jié)構(gòu)之上的軟件配置管理工具。僅僅應(yīng)用
TCP/IP,開(kāi)發(fā)人員就能夠通過(guò)多種Perforce客戶(hù)端(幾種平臺(tái)的GUI、WEB、或命令行)訪(fǎng)問(wèn)
Perforce服務(wù)器。Perforce能夠被快速和容易地部署,即使對(duì)大型或分布式的站點(diǎn),也只要求最小限
度的管理。Perforce可以使用在50多個(gè)操作系統(tǒng)中,它包括版本控制、工作空間管理、變更處理和
一個(gè)強(qiáng)大的分支模型。這里介紹的P4V是perforce的一種可以跨平臺(tái)使用的客戶(hù)端。
1.1. Perforce結(jié)構(gòu)
1.2.專(zhuān)業(yè)術(shù)語(yǔ)定義
第二章 Perforce使用介紹
2.1客戶(hù)端配置
2.1.1. 服務(wù)器連接
1.是首次在您的機(jī)器上使用P4V,那開(kāi)始會(huì)出現(xiàn)如下的創(chuàng)建工作空間窗口。選擇“Create a new client
workspace”,在你的本地機(jī)器上創(chuàng)建你的第一個(gè)工作空間。
2.在菜單欄上,選擇“Connection”下拉菜單中的“open Connection”選項(xiàng)。
?
3.彈出如下配置窗口,按如下配置填寫(xiě)正確的服務(wù)器名、端口、用戶(hù)名、密碼及工作空間設(shè)置。
4.在這里需要強(qiáng)調(diào)的是,登錄時(shí)請(qǐng)務(wù)必填寫(xiě)Workspace的內(nèi)容,否則Perforce的一些操作無(wú)法正常執(zhí)行。如果還沒(méi)有創(chuàng)建Workspace,請(qǐng)點(diǎn)擊New,界面如下:
5.在此填入您在自己機(jī)器上所新建的工作區(qū)名稱(chēng),并在如下圖所示窗口中設(shè)置本地目錄等信息:
如下:
?
注意將“Option”的“modtime”選項(xiàng)選中。
1.填寫(xiě)完成后,提交確認(rèn)(OK), 開(kāi)始連接相應(yīng)的服務(wù)器。
?
2.1.2 客戶(hù)端上配置
1.?設(shè)置①:下次打開(kāi)P4時(shí),自動(dòng)定位到上次退出時(shí)的路徑。
2.?設(shè)置②:Submit時(shí),不選擇未修改的文件,只提交修改過(guò)的文件。但對(duì)于未修改的文件
還是要手動(dòng)Revert。
(此功能還可以通過(guò)在pending changelist框中全選提交文件,右擊,選擇菜單“Revert If Unchanged”
完成。)
3.??設(shè)置③:當(dāng)打算CHECK OUT已被別人CHECK OUT的文件時(shí),會(huì)給出提示。
(但如果是對(duì)目錄CHECK OUT,則不會(huì)提示)
2.1.3 客戶(hù)端主要工作區(qū)
上圖所示的是Perforce的主界面,大部分的操作都是在該界面下完成的。該界面分為三個(gè)區(qū)域:
區(qū)域1:顯示Deport以及Workspace中的內(nèi)容,稱(chēng)為目錄區(qū)。
區(qū)域2:列出文件的一些操作屬性,稱(chēng)為操作區(qū)。
區(qū)域3:給出所執(zhí)行操作的提示信息,稱(chēng)為信息區(qū)。
2.1.3.1 目錄區(qū)
目錄區(qū)由Depot目錄區(qū)和Workspace目錄區(qū)組成。
1.Depot目錄區(qū)
顯示了服務(wù)器上可見(jiàn)目錄結(jié)構(gòu)(用戶(hù)權(quán)限設(shè)置不同,可見(jiàn)目錄也不同),這也與Workspace View映
射文件路徑有關(guān)系,可以指定顯示文件路徑。在這里,可以執(zhí)行的操作包括: check out, submit,
Get Latest Revision, Revert Files等操作。
2 Workspace目錄區(qū)
顯示了與服務(wù)器上文件有映射關(guān)系的,本地工作空間的目錄結(jié)構(gòu),這與Workspace View也有關(guān)系。
操作同上。
?2.1.3.1 操作區(qū)
操作區(qū)中的內(nèi)容主要由如下的幾種工作區(qū)組成。
1. Pending changelists 工作區(qū)
這里顯示當(dāng)前用戶(hù)正在修改的文件和其他開(kāi)發(fā)者正在修改的文件。
當(dāng)然,你只需要關(guān)心你自己的project即可。當(dāng)你執(zhí)行:Mark for Add,check out等操作時(shí),這些信息
就會(huì)顯示在changlist列表中顯示,并由不同的圖標(biāo)顯示其狀態(tài)。如果你修改完成后,執(zhí)行submit就
可提交更新文件;但也可以執(zhí)行revert放棄所作的修改。
2. Submitted changelists 工作區(qū)
顯示了近期所有項(xiàng)目組成員對(duì)項(xiàng)目所做的操作。
從中可以獲得如:changlist號(hào)、修改時(shí)間、修改文件的內(nèi)容、修改原因及修改人等信息。
3.?Workspace工作區(qū)
在該工作區(qū)中可顯示所有連接在服務(wù)器上的客戶(hù)端工作空間。
在此工作區(qū)內(nèi)可以執(zhí)行創(chuàng)建、編輯修改、刪除用戶(hù)工作空間等操作。(前提是有執(zhí)行的權(quán)限。)
4.?History工作區(qū)
查看指定文件的變更歷史信息。
5.?Labels工作區(qū)
查看目前所有的label號(hào)。
在此工作區(qū)中可完成label的創(chuàng)建,內(nèi)容的修改等。(前提是有執(zhí)行此操作的權(quán)限。)
6.?Branchs工作區(qū)
查看目前所有的Branch號(hào)。
在此工作區(qū)中完成Branch的創(chuàng)建,修改、刪除等。(前提是有執(zhí)行此操作的權(quán)限。)
除了以上說(shuō)明的幾種工作區(qū),還有Files、Users、Jobs、Details以及Fild files等工作區(qū)。包括上述的
六種在內(nèi),這幾個(gè)工作區(qū)窗口可以通過(guò)界面上,如下圖所示的選項(xiàng)卡相互切換:
2.1.3.3.?信息區(qū)
由一個(gè)窗口(Pane windows)組成。
Pane windows
這是一個(gè)非常有用的窗口,稱(chēng)之為消息窗口區(qū),最底下的那個(gè)窗口就是。你的任何操作的信息都會(huì)
出現(xiàn)在這里,包括success, warning, error等信息。特別是執(zhí)行某個(gè)操作失敗后,這里的信息是至關(guān)
重要的。一般情況下,都可以根據(jù)這里的信息來(lái)處理一些意外情況或者是不規(guī)范操作。
2.2.??Perforce的日常操作
2.2.1.?添加(Add)文件夾及文件
1.?在Workspace中選定要添加的文件夾/文件上右擊,選擇“Mark for Add”,添加文件。
將添加文件行為顯示在pending changelists工作區(qū)中。在工作區(qū)上增加好文件夾和文件后,圖標(biāo)上有
個(gè)紅色的加號(hào)標(biāo)志??,表明此時(shí)增加的文件夾和文件還僅僅存在客戶(hù)端的工作區(qū)中,還沒(méi)有提交到服
務(wù)器上的倉(cāng)庫(kù)中。所以,右鍵點(diǎn)擊需要提交的文件夾或文件,選擇Submit,提交完畢后,文件此時(shí)
才真正提交到服務(wù)器上的倉(cāng)庫(kù)中。
2.?提交(Submit)添加文件/文件夾
在Submit的過(guò)程中,需要寫(xiě)下該變更的描述,這點(diǎn)很重要!描述信息的詳細(xì),將大大的方便對(duì)文件
的查詢(xún)和跟蹤。且在描述的開(kāi)頭用英文說(shuō)明此次操作行為的類(lèi)型。如用Add表示添加;Modify表示
修改;Build表示編譯等等。
點(diǎn)擊Submit后,即可看到文件前面的紅色加號(hào)已經(jīng)去掉了,并且在Reversion欄中已經(jīng)顯示出該文件
的版本號(hào)。此時(shí),文件的右下角有個(gè)綠色的標(biāo)識(shí),表示該文件當(dāng)前顯示的是最新版本。
2.2.2.?文件修改
如果需要對(duì)文件進(jìn)行修改,首先將需要修改的文件Check Out出來(lái)到本機(jī),才可以進(jìn)行修改。
1.?右鍵點(diǎn)擊需要修改的文件,選擇Check Out命令。
此時(shí)被Check Out出來(lái)的文件左上方有個(gè)紅色鉤標(biāo)志,表明該文件已經(jīng)成功的被您Check Out出來(lái)了
。如果是文件的右上方有個(gè)藍(lán)色鉤標(biāo)志,說(shuō)明該文件已經(jīng)被別人Check Out出來(lái)了。由于Perforce支
持并行操作,所以您仍可以將別人已經(jīng)Check Out的文件再次Check Out到您本機(jī)進(jìn)行修改。
2.?雙擊打開(kāi)已經(jīng)Check Out出來(lái)的文件,對(duì)其進(jìn)行修改。
修改完畢后,右鍵點(diǎn)擊該文件,選擇Submit,寫(xiě)下變更列表的描述。
3.?點(diǎn)擊Submit,文件提交到服務(wù)器,增加了一個(gè)新版本。
在這里需要提醒大家的是,如果將某個(gè)文件Check Out出來(lái)后,并沒(méi)有做任何修改,這時(shí)請(qǐng)不要做
Submit操作,而是點(diǎn)擊右鍵選擇Revert If Unchanged,這樣提交后就不會(huì)增加該文件的版本數(shù)了,
否則服務(wù)器將會(huì)為一個(gè)沒(méi)有做任何修改的文件增加一個(gè)版本。
建議在每次修改后思考:為什么要做這些修改?如果所作的修改是沒(méi)有意義的,那么,建議不要將
這個(gè)文件提交(submit),而是Revert你所做的修改。
2.2.2.1.?合并文件
合并操作主要用來(lái)解決并行開(kāi)發(fā)過(guò)程中變更產(chǎn)生的沖突。
例如,當(dāng)有多人需要對(duì)同一個(gè)文件同時(shí)執(zhí)行Check Out操作時(shí),在Submit該文件時(shí),Perforce可能會(huì)
報(bào)錯(cuò)?,F(xiàn)舉例如下:有A、B兩人需要同時(shí)對(duì)CallKeep.cpp文件執(zhí)行Check Out操作。
此時(shí)可以看到文件CallKeep.cpp的左上角和右上角分別有鉤,這說(shuō)明該文件正在被至少兩個(gè)人執(zhí)行
Check Out操作。由于Perforce支持并行操作,所以A和B在執(zhí)行Check Out時(shí)不會(huì)發(fā)生沖突,但
Submit該文件時(shí)就可能報(bào)錯(cuò)了。第一個(gè)執(zhí)行Submit操作的人不會(huì)出現(xiàn)問(wèn)題,例如A可以正常提交,
但如果B修改的內(nèi)容和A修改的相沖突,則B執(zhí)行Submit時(shí)報(bào)錯(cuò),并且會(huì)提示服務(wù)器上已經(jīng)有最新的
版本了(即A剛剛提交的版本)
此時(shí)B獲得最新版本后再提交,仍報(bào)錯(cuò)。
且在文件上打個(gè)問(wèn)號(hào),說(shuō)明服務(wù)器不知道該怎么辦,因?yàn)锽需要提交的版本內(nèi)容和A的相沖突,需要
B給予解決。
這時(shí),選中該文件,右鍵點(diǎn)擊,選擇Resolve操作。
Perforce提供了三種自動(dòng)解決方案,分別是“Accept Merged”、“Accept Yours”和“Accept Theirs”。當(dāng)
然,你也可以查看和別人沖突的地方在哪里,進(jìn)行手動(dòng)解決沖突。點(diǎn)擊Run Merge Tool,顯示如下
圖所示界面。
區(qū)域1:顯示的是A提交版本中的內(nèi)容,即目前服務(wù)器上的最新版本。
區(qū)域2:顯示的是A和B同時(shí)Check out文件CallKeep.cpp時(shí),當(dāng)時(shí)服務(wù)器上最新版本內(nèi)容,也就是A、
B修改的基礎(chǔ)版本。
區(qū)域3:顯示的是B自己修改的文件內(nèi)容。
區(qū)域4:顯示了三個(gè)版本所有沖突的地方,B可以在此基礎(chǔ)上對(duì)文件做修改,給出解決方案。
選擇紅線(xiàn)框中的按鈕來(lái)決定所保留的代碼。解決完沖突后再Submit即可。
2.2.3.?查詢(xún)文件歷史版本
1.?如果想要查詢(xún)某個(gè)文件的任何一個(gè)歷史版本,右鍵點(diǎn)擊這個(gè)文件,選擇Get Revision。
2.?寫(xiě)下需要查看的歷史版本號(hào),然后點(diǎn)擊Get Revision。
此時(shí)Perforce為您取出任何一個(gè)你想要的歷史版本。
2.2.4.?比較兩個(gè)文件的區(qū)別
比較操作主要是用來(lái)查看某個(gè)文件到底做了哪些修改:從中你可以看出添加了什么,刪除了什么等
等。
1.?比較兩個(gè)不同文件或一個(gè)文件不同版本之間的區(qū)別。右鍵點(diǎn)擊需要比較的文件,選擇Diff
Files命令。
2.?按照下圖所示,設(shè)置需要比較的文件名稱(chēng)或文件的版本等。
3.?點(diǎn)擊Diff就可以看到如下圖所示的所有不同處,包括增加、刪減或修改的操作。
在這里需要注意的是:Perforce暫時(shí)不支持多個(gè)文件的比較。同時(shí),如果在進(jìn)行兩個(gè)文件比較時(shí),
文件的大小超過(guò)2MB,Perforce也會(huì)報(bào)錯(cuò),出現(xiàn)以下所示界面:
請(qǐng)大家在操作過(guò)程中注意!
2.2.5.?同步服務(wù)器上文件
如果您在服務(wù)器上找到自己所需要的文件,并希望把這些文件同步到本機(jī),這時(shí)就需要首先選擇好
工作區(qū)Workspace,然后右鍵點(diǎn)擊需要下載的文件夾,選中Get Lastest Revision命令,就可以完成
文件夾的同步操作了。
2.2.6.?獲取Label標(biāo)識(shí)版本文件
提取出標(biāo)記特定label下的文件。
1.?在工具欄上找到??的標(biāo)識(shí),在右上方的Labels工作區(qū)中找到所需的label號(hào)。
2.?獲取指定label下特定文件。 右鍵選中指定label,在菜單中選擇“Get Revision...”。
3.?在彈出的如下對(duì)話(huà)框中,選擇需要簽出的文件。
4.?點(diǎn)擊“Add”按鈕,選擇添加標(biāo)記該label的文件。
第三章?注意事項(xiàng)
1.?合并的Base File文件中一行的字?jǐn)?shù)不可以超過(guò)6000個(gè)字符。否則會(huì)報(bào)錯(cuò)。
2.?在進(jìn)行兩個(gè)文件比較的時(shí)候,文件大小不要超過(guò)2MB,否則會(huì)保存錯(cuò)。
3.?關(guān)于check out
check out告訴服務(wù)器要修改指定文件,而實(shí)際上是把本地文件的屬性從只讀變?yōu)榭蓪?xiě), 需要注意
的是千萬(wàn)不要手動(dòng)去改文件信息,服務(wù)器并不會(huì)知道手工修改,這樣只會(huì)帶來(lái)不必要的麻煩,這些
信息會(huì)顯示在pending changelists的defualt這個(gè)接點(diǎn)下面。
4.?關(guān)于文件刪除
凡在Perforce上的任何刪除操作,都由配置管理員統(tǒng)一操作完成。如有刪除文件的需要,將需要?jiǎng)h
除的文件的Perforce上路徑發(fā)給配置管理員來(lái)完成。
5.?關(guān)于文件類(lèi)型(file type)
在簽入文件前,首先要查看所簽入文件的類(lèi)型是否包含在已設(shè)定文件類(lèi)型中(可
在//depot/Misc/Types/typemap.txt文件中作查找),否則為包含的文件類(lèi)型是不能成功加入perforce配
置庫(kù)的。
第四章?服務(wù)端相關(guān)安裝與配置
2.1.?安裝步驟
1.?點(diǎn)擊安裝程序,出現(xiàn)如下界面,選擇“User Installation”后,next繼續(xù)安裝。
2.?出現(xiàn)如下界面,選擇需要安裝的組件。選擇全選。
3.?配置連接服務(wù)器端口等信息。
除Username為用戶(hù)本人名以外,其他配置信息如圖。
4.?最后檢查確認(rèn)所填安裝配置信息(包括安裝路徑、安裝組件、服務(wù)器端口號(hào)、用戶(hù)名等等
)后,點(diǎn)擊“Install”開(kāi)始安裝。
5.?在“開(kāi)始”菜單程序中選擇Perforce——〉P4V,進(jìn)入P4V客戶(hù)端程序界面。
總結(jié)
以上是生活随笔為你收集整理的Perforce使用指南_forP4V的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: IDEA 方法自动添加注释
- 下一篇: 搭建一个属于自己的语音对话机器人