(整理)P4V -- Perforce客戶端入門教程


       最近手頭工作算是告一段落,所以又開始逛博客園了,看了自己幾年前寫的兩篇沒有結尾的P4V的教程,虎頭蛇尾太難看了,於是開始整理一下,寫一篇完整的P4V教程。(不會再開新帖,所有內容直接在本文中更新。)

  目錄:

  1. 什么是Perforce?什么是P4V?
  2. 如何安裝和設置P4V?
  3. 初次使用:下載,上傳,更新,刪除,沖突處理
  4. 如何使用"Revision"
  5. 什么是Branch?
  6. 什么是Stream?
  7. 擴展插件
  8. 管理員工具
  9. 其它實用功能整理

 

1. 什么是Perforce?什么是P4V?

  perforce可以說是一款功能十分強大的版本控制軟件。何為版本控制?我通俗地講,就是為整個項目開發過程中所有文件都建立一個記錄列表,並可以調用或修改這些記錄。這樣做的好處是,你不用再每次修改完一個文件后將它另存為一個新的副本,然后文件或者文件夾標上各種復雜的像是日期或者編號之類的名字來識別,同時在合作開發中可以清楚的知道誰在哪個時間提交過什么修改。它的好處一是方便了集體合作開發時的內容整合,二是詳細保存了開發中的所有紀錄。

  P4V是perforce的界面客戶端程序,官方的安裝程序中也集成了命令行工具,網頁客戶端等。通常普通用戶只需要用到P4V就足夠了,命令行可以用來做自動化編譯,網頁版可以用來做RSS訂閱。既然有客戶端,自然有服務器,perforce是典型的C/S,但是服務器是perforce admin要關心的部分,對普通用戶而言完全沒有必要了解。

perforce官方主頁:http://www.perforce.com/

p4v客戶端下載:http://www.perforce.com/product/components/perforce-clients-tools

p4v官方文檔:http://files.cnblogs.com/sasafly/p4v%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C.pdf  


 

2. 如何安裝和設置P4V?(WIP)

  首先,我解釋一下P4V中常見的幾個名詞:

  • Server(port): server代表perforce服務器的地址,也就是p4v客戶端需要去連的這個地址,安裝p4v時會有一個默認的“localhost:1666”,這個地址並非空穴來風,因為假如你自己嘗試下載一個perforce服務器到本地來啟用,這正是它的默認地址。通常我們要根據項目提供的服務器地址來填寫。加了一個"(port)"是因為設置中並沒有給出port的選項時,server地址的格式通常是"server:port",但設置中有port的選項時,server地址的格式就是"server",而port就是"port",這個在后面安裝時我會再說明。
  • User: 這個很通俗,就是你的用戶名,這個用戶名通常是由管理員創建好后告訴你的,根據管理員對p4安全設置的不同配置,在第一次連接時可能會需要新建密碼。
  • Workspace(client): 這兩個名詞代表的是同一個東西,它是基於當前主機的一個虛擬客戶端,P4V是一個用於連接服務器和使用perforce的客戶端工具,而要在上面工作就需要建立一個本地和服務器映射的workspace(可能是因為"client"這個名字確實容易混淆,在新版本的p4v中很少見到了,但是在命令行工具的相關配置中還是延用了這個名字,比如"P4CLIENT",所以在此簡單介紹一下,以免剛開始使用的同學會有所混淆。)。相關配置在后面會講到。
  • Depot: 代碼倉庫。在P4V里它表現是一個樹型目錄,代表着服務器上的文件及目錄狀態。

  不同版本的客戶端在安裝和配置時會有些許差異,但是主要內容是相同的,我用的是最新版本做截圖演示,其它版本請大家自行嘗試。

  安裝

  

 

  配置:

   第一次進入P4V的時候,會提示配置連接,這時我們按工作的項目要求填寫即可。如果本機上從未使用過P4V,需要新建一個workspace,以下是配置詳情。配置完后會提示是否要立刻將資源的最新版本下載到本地,根據自己的需求決定即可。

在P4V下方有一狀態欄,當進度條在滾動中時,說明有任何正在進行,同時Log框會顯示相應的操作。因為P4V中有很多是對文件的操作,也可以在設置是配置是否要在Log中顯示操作的所有詳細。

  在P4V的左側,我們可以看到和depot相對應的樹狀目錄,要顯示哪些內容可以通過對篩選器來決定。

 

 P4V中還有很多細致方便的功能,這里就不一一介紹了,大家可以自己摸索。

 


 

3. 如何使用"Revision"(WIP)......

   Revision: 將“Revision”單獨列出來,因為它可以說就是Perforce及其它SCM系統的核心。文件和功能都是基於版本來完成的。靈活地使用“Revision”可以讓開發和部署變得更輕松。

首先來看一下如果對某個單獨文件進行操作:

  • Sync to revision: 
  • Rollback to revision:
  • View history:
  • Revision Graph:

  Changelist: "changelist"是perforce中基於"Revision"的重要成員。它是一次版本的提交,這不僅僅是針對這條changelist中包含的文件,也相當於對整個depot版本的一次更新。所以基於changelist的操作更加的多樣化,以下是幾種常見操作:

  • Sync to revision:
  • view history:

 

4. 初次使用:同步,上傳,更新,刪除,沖突處理(WIP)......

changelist不僅可以用來“看”,它同時也是一切操作的基本,changelist來源於Workspace,與用戶的每一個操作息息相關。

  • Sync: 同步。指的是將本地文件與服務器上的文件的特定版本進行同步,通俗的說也就是將服務器上的特定版本下載到本地。
  • Check out/mark for edit: 將文件標記為“修改狀態”。指的是基於本地正在使用的workspace,把特別的文件或目標標記為“修改”狀態,從文件系統上會將本地相應的文件狀態由“只讀”改為“可寫”。
  • mark for add: 添加文件。
  • mark for delete: 刪除文件。
  • submit: 將修改提交到服務器上保存。
  • resolve:

 


 

5. 什么是Branch? (WIP) ......

  Branch: 正如它字面上的意思,表示“分支”。這里的分支指的是版本的分支。Perforce本身是一個版本管理系統,所有的文件、目錄都是基於版本這個根本來保存的,我們通常工作所用的Depot可以認為它是一條主時間軸,而分支就是在某些特殊情況下需要按特定條件分流出來的副時間軸。

 

  如何快速創建一個新的Branch?

  1. P4V中默認在上部有一條快捷按鈕,如圖所示。點擊箭頭1所指的綠色按鈕可以在面板右邊打開“Branch Mappings” 標簽。如果你在按鈕欄找不到這個按鈕,請按箭頭2在“View”中選擇“Branch Mappings”。

 

  2.  這里將顯示出已有的Branches。在空白處右擊鼠標,選擇“New Branch Mapping…”。

 

  3.  如圖彈出一個標准的新建branch的窗口,請按數字標簽依次填寫:

    (1) Branch的名字;

    (2) 創建Branch的用戶名;

    (3) 這個Branch的描述(比如項目、功能等Tags或者詳細描述);

    (4) 主時間 軸與副時間軸的映射,比如:

      //main_branch/… //specific_branch/…

      //mian_branch/a.file //specific_branch/a.file

它的格式類似新建workspace時的mapping,不同之處在於兩邊都是完全的depot path格式。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM