2010-05-25 75 views
13

如果從分支創建工作拷貝(本地拷貝),我們稱之爲A.編碼在分支A中完成,但分支A被「關閉」到提交,分支b被打開。如何將我的工作副本更改合併到分支B中,並提交給分支B,而無需先將更改提交給分支A.SVN工作拷貝到不同分支合併而不提交到工作拷貝分支

幹線 - >分支A.

I checked out branch A and made changes. 
    Branch A was closed to commits. 

新科從分支A.創建 分支A - >分支B.

I would like to commit my working copy changes (currently pointing at Branch A into branch B without commiting to Branch A) 

回答

16
  1. 的工作拷貝製作備份。
  2. svn switch分支B
  3. 檢查變更(基礎版本可能會有所不同,和svn不盲目,啞文本僅合併),化解矛盾,如果任何
  4. 提交

做這樣的事情了沒有提交更改的工作副本是危險的。如果出現任何問題或者有太多衝突的變化,請回滾到備份的版本,從您的工作副本的基本版本A創建一個臨時分支,切換到該版本並提交更改,以便它們處於安全的位置。然後將該分支合併到B中,然後將其刪除。

記住svn的口頭禪:提早提交,經常提交。如果我有一個以上的工作日沒有提交的變化,我會感到緊張。通常,我爲任何持續時間超過幾個小時的開發創建一個功能分支。並定期對此做出承諾。當我完成後,我將它合併到它來自的任何地方,然後刪除它。

+0

這工作。我不需要備份,但是因爲你不想失去幾天工作的價值,所以很好。 我喜歡svn曼陀羅! – 2010-05-25 16:56:47

2

要非常小心,我會提交我的修改私有分支(姑且稱之爲C),那麼C分支合併到新開的,提交分支機構B

  1. cd工作目錄與您要提交
  2. svn copy . C
  3. cd ..到工作區文件夾檢出
  4. svn co B
  5. cd分爲B目錄
  6. svn merge修訂第2步的變化。
  7. 查看更改。
  8. 提交!