2010-05-26 117 views
1

如果您創建了一個分支並且正在使用該分支中的文件,那麼當您更新它時,它是否將分支中的代碼更新/合併到trunk中的代碼?Subversion分支問題

此外,當您將更改提交給分支後,如何使用更改更新主幹? (因爲你提交更改,並有再次切換到主幹?)

任何評論都將讚賞:)

感謝,

回答

2

當你在一個分支工作時更新你的工作文件夾,您'正在使用該分支中的新更改從存儲庫中更新,而不是從主幹中更新。

因此,除非其他人與你一起在分支機構工作,否則更新將不會執行任何操作。

要將更改重新放回主幹(或將幹線更改到分支中),您需要使用合併操作。

您可以在chapter 4. Branching and Merging下的顛覆紅皮書中閱讀更多關於分支和合並的內容。

+0

在合併分支時,還要爲自己的痛苦做好準備,當您切換分支或合併時,顛覆可能會變得有點荒唐。 – Ceilingfish 2010-05-26 14:00:47

+0

感謝您的回覆和鏈接:)當您使用合併選項時,是否像更新分支和修復衝突等一樣簡單? – Theomax 2010-05-26 14:05:56

+0

那麼,「直接前進」,是的,這是這些操作,如果你完成分支(或者希望做一個半釋放的更改),則將分支合併到主幹中,或者如果你願意(例如,如果您依賴於特定的錯誤修正),但是否是「直截了當」,則完全取決於您遇到的衝突次數。只要確保你的工作副本沒有任何無法改變的地方,如果你陷入困境,更容易恢復並重試。 – 2010-05-26 14:19:01

1
  1. 不,實際上不可能從幹線「更新」分支。分支不像工作副本。理論上,您可以將合併爲從主幹到分支的所有更改,但這會在將更改提交回主幹時產生問題。

  2. 此操作稱爲「重新集成分支」。它實際上是一種合併形式。之後,分支可能會被刪除。

+0

所以基本上,除非其他人在同一個分支上工作並進行了更改,否則不能更新分支?我想我現在幾乎瞭解svn /使用破壞版本 - 但我不清楚幹線是如何更新分支變化的。另外,如果有很多分支要添加到主幹,你如何協調事物? – Theomax 2010-05-26 14:09:11

+0

合併分支就像定期提交一樣。對許多人來說,處理同一組文件是可以的。在合併過程中,您將會很好地顯示變更集並將其半自動合併。合併首先在本地副本上完成,映射到主幹。然後,在編寫幹線的可能新狀態之後,通過定期提交進行提交。 – 2010-05-26 14:34:26

2

首先,在Subversion「分支」==「普通目錄」中。你在倉庫中創建目錄「branches」,並聲稱它將包含分支,但Subversion不會將這個目錄與其他目錄區分開來。這同樣適用於「主幹」,「標籤」等。

因此,當您在分支上執行「更新」時,只更新目錄。

正如Lasse所說,要將變更變爲主幹,您應該使用「合併」操作。