1. 下載perforce console版
請至 http://www.perforce.com/downloads/complete_list 下載The Perforce Command-Line Client (P4),檔案會是一個執行檔。下載後請放置於/usr/bin/並修改檔案權限。
sudo chmod 755 /usr/bin/p4
2. 設定環境變數
修改~/.bashrc,加入下列資訊
export P4HOST={SERVER HOSTNAME}
export P4PORT=
export P4CLIENT={WORKSPACE NAME}
export P4USER={USERNAME}
unset P4CHARSET
P4CHARSET參數視client與server之間的編碼版本決定,細節可見 http://www.perforce.com/perforce/doc.current/manuals/cmdref/env.P4CHARSET.html
其他環境變數可參見 http://www.perforce.com/perforce/doc.current/manuals/p4guide/02_config.html 說明
接著重新載入.bashrc後直接執行p4看看是否與server連結正常。如果出現Perforce client error等字樣,代表環境變數設定還有問題。若成功就會出現相關的help指令說明。
3. 登入perforce
接著輸入p4 login,就會詢問登入密碼,登入後就會顯示成功登入的訊息。如果實在嫌每次都要登入登出麻煩,可以直接在.bashrc中間指定P4PASSWD參數(但因為放置於.bashrc等於是明碼儲存,並不建議)
p4 login
4. 建立workspace
若此台電腦尚未開啟過workspace,只要執行p4 client即可,便會跳出一個vim文字編輯畫面,讓您修改此workspace相關訊息,儲存後就會在server上建立一個新的workspace。比較重要的參數就是Client、Root與View這幾個參數,Client就是屆時在清單會看到的workspace名稱,Root則是程式碼儲存的根目錄,View則是會決定你要同步出來的路徑深度。
p4 client
接著可用 p4 workspaces -u
p4 workspaces -u {USERNAME}
若要看更詳細的workspace訊息,可用 p4 client -o
若要刪除workspace,執行 p4 client -d
5. 倒出程式碼
p4 sync {PATH ON SERVER}/...
目錄會幫忙開好
強制sync到最新版
p4 sync -f {PATH ON SERVER}/...
p4 sync -n
如果出現Request too large代表此路徑下檔案太多,需要縮小範圍來sync
6. 確認檔案狀況
p4 have
p4 files {FILENAME}
p4 fstat {FILENAME}
p4 changes {FILENAME}
p4 changes -m {MAX}
p4 changes -i ./... 列出目前目錄下所有子目錄所有檔案的 各個版本與歷史紀錄
p4 filelog {FILENAME}
7. 修改檔案
p4 add {FILENAME}
p4 diff {FILENAME}
p4 diff
p4 diff
p4 diff2
p4 edit
p4 submit {FILENAME}
p4 submit
p4 revert {FILENAME}
p4 delete {FILENAME}
p4 opened 列出目前已經check-out的檔案
p4 move {FILENAME} {NEW FILENAME or NEW FILEPATH} 搬移或rename某個檔案 (更名亦可用p4 rename {OLD FILENAME} {NEW FILENAME})
p4 restore {FILENAME}#{REVISION} 將某個檔案倒回到特定版本
p4 resolved 解決某個檔案的衝突
8. 進階用法
p4 tag -l {LABEL} {FILENAME} 將某個檔案加入特定label
p4 label {LABEL} 建立或編輯label
p4 labels -u
p4 sync @{LABEL} 同步該label中的所有文件
p4 files @
p4 branch {BRANCHNAME} 建立branch
p4 branches -u {USERNAME} 顯示該使用者擁有的branch
p4 integrate -b
p4 dirs -H . 顯示當前目錄
p4 help {COMMAND} 針對特定指令的更詳細說明