2015-11-04 308 views
3

全部!在Perforce中,我如何在Git之類的分支之間切換?

有了Git,我分別獲得了兩個名爲Main和Dev的分支。如果在Main分支上彈出一個問題,並且我正在開發Dev,則可以切換到Main來解決該問題,然後切換回Dev並繼續執行以前的工作。但是,使用Preforce時,我必須創建一個新的工作空間並將項目表單主分支下載到該工作空間,然後解決問題。

我可以像Git一樣使用Perforce嗎?

回答

4

這對於常規的Perforce是不可能的。

Perforce Streams使這成爲可能;見here。但是你必須有一個Stream depot,這是Perforce IT團隊需要幫助的。使用Stream depot,您的功能分支將分別成爲一個流,並且您可以在一個工作區中切換它們。

+0

在Perforce Streams之前,這是不可能的原因之一在於,在經典的非流Perforce中,軟件倉庫路徑可以指向任意的,不兼容的分支。例如。以下兩條路徑可能是等效/可互換的:'// depot/foo/Main/src/...'和'// depot/foo/Dev/src/...'。而下面兩個可能不是:'// depot/foo/Main/src/...'和'// depot/foo/Dev/src/a/b/c/...'。直到Perforce Streams,Perforce才能真正理解「分支」是什麼 - 在那之前,任何給定的路徑都是分支。 – sferencik

1

如果你有//庫/幹流和//庫/開發流,並要對主開關您的工作環境開發,你這樣做:

p4 switch Dev 

這是所有有它 - 現在Dev流已經在你的工作空間中,你可以在其上工作。看到這個博客帖子以獲得更多關於究竟是什麼「開關」命令執行:https://www.perforce.com/blog/150428/p4-switch-switching-it

如果您使用的是與人工定義客戶視圖的「經典」的車廠,有幾種不同的方式在多個分支機構的工作:

  1. 每個分支一個工作區。
  2. 將多個分支映射到您的一個工作區中。
  3. 將您現有的工作區映射切換到指向不同的分支。

(1)和(2)都要求您在磁盤上擁有每個分支的副本 - 如果您經常在分支之間來回移動,或者希望能夠在多個分支中運行構建/測試同時,這可能是有用的。缺點是您使用的磁盤空間更多,並且可能會進行一些冗餘的文件傳輸。 (3)基本上是「p4開關」的作用;如果您不使用流管理所有內容(根據需要處理打開的文件,更改客戶端視圖,同步),則只需手動執行不同的部分。