2013-02-17 47 views
0

我創建了一個大型OS項目的本地副本。我只是在討論,所以我不打擾分支。無論如何,我最終對源代碼進行了一些更改併爲其創建了擴展。現在我還沒有在我的本地做任何事情(所以這是在修改頭)。我意識到我想將我的更改移動到分支,然後將HEAD重置爲原始版本或其服務器中項目的當前狀態。如何將未提交的更改移動到Head到分支,然後將Head重置爲SVN中的初始狀態?

我該如何將所有坐在Head處於未落實階段的變更移至分支進行進一步修改?然後,我想將頭重置爲premodif狀態或來自服務器的當前狀態。一旦所有移動到位,我將創建一個適合當前項目頭部的補丁。

感謝

回答

1

據我所知,SVN不是一個分佈式系統,所以沒有本地HEAD和遠程端的概念。相反,有一個規範的HEAD,以svn的說法被稱爲trunk。

至於你的問題,你創建一個svn分支通過copy command與兩個遠程URL。然後事情就像你期望的那樣進行。

  1. 副本myWorkingCopy myWorkingCopyBackup
  2. 結賬遠程
  3. 新版本讓你的新分支
  4. 副本myWorkingCopyBackup到myWorkingCopy的myWorkingCopy一個實例,從.svn目錄包含
  5. 拋開一切更換

您現在應該是金色的,將您的更改簽入您的新分支,並將原始中繼線

+0

謝謝,不過我使用的是TortoiseSvn,所以當我嘗試使用TortoiseSvn時,它警告說我有未提交的更改,並且我將會發生更改。你是否建議這些變化必須承諾能夠複製/分支? – 2013-02-17 17:01:15

+0

是的,或移動到另一個目錄。 – hd1 2013-02-17 17:03:22

+0

問題是,就我所知,似乎將提交到中央服務器。這是我想要避免的。 – 2013-02-17 17:54:43

0
  1. 選擇「創建分支」
    • 作爲分支源使用「HEAD」,「不工作副本」
    • 使能「切換到分支」複選框(在對話框的底部)
  2. 創建分支

現在你已經工作從主幹創建一個分支準備提交副本和更改進入那個分支。沒有修改主幹。

相關問題