2010-05-06 59 views
101

我一直在從開發線簽出的代碼工作,並發現所做的更改可能是突破變化,需要移動到實驗分支之前提交到主開發樹。但是,我沒有將實驗分支簽出,我也不想丟失已經做出的更改。提交更改到與當前檢出的分支不同的分支與顛覆

有沒有辦法將工作文件夾中的更改提交到不同於最初簽出的分支?

回答

112

你應該創建從已知sourceURL一個分支(這將是你的「發展線」你在問題中提到)第一名:

svn copy sourceURL branchURL 

然後,切換到該分支:

svn switch branchURL 

並提交您的更改:

svn commit 
8

您可以直接從工作目錄創建一個新的分支,並將工作目錄切換到該分支。

的命令是 svn copysvn switch

44

你能做到這一點在TortoiseSVN的那樣:

  • 右鍵點擊你在哪裏要分支的變化的目錄。它不一定是存儲庫的根,更不用那樣重複;
  • 選擇TortoiseSVN - >「Branch/tag ...」;
  • 設置到URL:「svn:// host/repository/FooBar/branches/FooBarBranchName」;
  • 確保[*] 選擇了工作副本。這將確保變更有效;
  • 日誌消息:「試驗蒼蠅:)」;
  • 可選:Tick [*] 將工作副本切換到新分支/標籤。如果您打算繼續在新分支上工作,這很有用。儘管您以後也可以切換到它。
  • 試着找到確定按鈕。提示:它位於窗口中心的下方。

享受!

+0

你是什麼意思,「它不能是存儲庫的根,減少重複這種方式」? – thekozak 2015-03-04 20:47:21

+0

我建議不要選擇根目錄下的所有不相關的子文件夾,這些子文件夾不要在分支中修改。稍後,將(較小)分支合併回主幹將會更容易。 – 2015-03-05 09:24:59

+0

在我的情況下,只提交該文件夾引起的問題,因爲該軟件也取決於超級文件夾。我認爲這是最常見的情況。我認爲對於大多數用例來說,最好只提交整個內容,所以建議從我說的根提交。 – ikku100 2015-12-10 11:36:46