perforce的分支與整合

2021-06-26 22:55:17 字數 1953 閱讀 1343

p4的分支建立和整合過程主要包含4個步驟:

(1) 使用『p4 branch』建立branch spec;

(2)使用』p4 integrate『來實現分支間的整合;

(3)使用『p4 resolve』來完成衝突的合併;

(4)使用『p4 submit』提交整合的結果。

如下為在p4v中的操作。

一 建立branch spec

二 建立新的分支

如下過程建立2012rtm分支!

2) 提交整合

3)提交後如下

三 分支間的整合

如下過程為從2012rtm 到 main的整合。

2) 在有衝突的檔案右鍵->resolve (通常選擇accept merged 或者run merge tool手動merge)

3) 提交合併

四 p4 integrate 和 p4 resolve的注意事項

1 )p4分支的整合也支援沒有branch spec的形式,如 『p4 integrate fromfile tofile』,如果沒有使用branch spec或fromfile與tofile沒有共同的base的時候需要使用-i引數來強制整合。

2)對『p4 integrate』使用-v引數來避免將integrate的結果自動sync到本地,但是大部分情況我們需要合併,所以需要sync到本地。

3)對『p4 integrate』使用-r表示與branch spec相反的方向的整合。

4)預設地在『p4 integrate』命令後本地workspace的檔案任然為唯讀的,如果需要修改則必須先使用『p4 edit』命令。

5)對『p4 integrate』命令使用-dt -ds,-dt表示目標檔案被刪除了,但是原始檔還在,則整合結果為原始檔; -ds表示如果原始檔刪除了,整合結果為任何對之前對目標檔案的修改也被刪除。

6)在指令碼中自動整合時,可以對『p4 resolve』使用 -am或-as引數,差別為:

-am表示accept merged,具體為如果theirs與base一致,接受yours,如果yours與base一致,接受theirs,如果yours和theirs都與base不同,但是yours和theirs沒有衝突,接受自動merged的結果,否則如果yours和theirs也有衝突,則忽略此檔案。

-as比-am更嚴謹,不管yours與theirs是否有衝突,只要yours和theirs都與base有不同就忽略此檔案。

7)在使用『p4 resolve -am』或『p4 resolve -as』後,可以使用『p4 resolve -n』來參看沒有自動merged忽略的檔案,如果有檔案沒有自動merge成功,則需要手動merge,否則可以直接提交。

8) 例項 :

p4 integrate -b %branchname% -dt -ds

p4 resolve -am

p4 resolve -n 

p4 submit (如果p4 resolve -n 命令檢測到沒有檔案merge失敗,則submit可以自動執行,否則需要手動merge,然後再submit)

完!

Perforce的各種命令

在以前的公司 控制用的是cvs,到這家公司用的是perforce,中國恐怕沒有幾家公司用這個玩意,老美的愛好,又或者是expedia那幫ms出身的愛好。今天對於perforce的命令列稍做了些研究,主要用到了以下這些常用的命令 color blue p4 user p4 client p4 add,...

Perforce的環境變數配置

1.如果使用的是perforce的視覺化的client的話,connection,user,name,password等都是可以在頁面上設定的 可以如果想使用command的操作或是自動化 更新的話,就要配置相應的環境變數了 在系統的環境變數中加入以下配置 p4port ip port port d...

Perforce的環境變數配置

1.如果使用的是perforce的視覺化的client的話,connection,user,name,password等都是可以在頁面上設定的 可以如果想使用command的操作或是自動化 更新的話,就要配置相應的環境變數了 在系統的環境變數中加入以下配置 p4port ip port port d...