2016-06-13 76 views
2

似乎我應該能夠使用Subclipse或Tortoise來完成此操作。SVN切換到另一個分支,允許我合併/提交以後

我開始研究分支中的一個功能,並且該功能的範圍增加了,所以我沒有檢入以保持該分支穩定。 我想要一個地方辦理入住手續,所以我分支了原始分支,並且我想將我的副本指向該分支。

使用SVN開關,似乎我必須解決衝突作爲過程的一部分,但我不準備這樣做。我只想讓我的工作空間現在指向它之前指向的分支的副本,從而允許我在自己的時間進行合併和更新。

有沒有辦法做到這一點?

回答

1

交換機必須進行更新。我不認爲你的問題是與開關,它可能是你創建的分支。假設你的工作副本已更新到版本庫的r100,並開始在本地進行更改。現在你決定創建你的分支,並根據不在r150的倉庫HEAD創建它。那麼是的,你可能會遇到一些問題,因爲這個分支並不是真正從你的工作副本創建的。

如果您想圍繞使存儲更改變得容易進行優化,那麼最好的辦法是從工作副本創建分支。當您選擇您的項目並選擇團隊>創建分支/標記時,這是嚮導中的一個選項之一...

工作副本可能處於瘋狂的混合修訂狀態,這就是創建分支的原因。因此,稍後當您想要回到您的更改並希望將其合併回主幹或讓分支趕上主幹時,可能會稍微困難一些。

如果你對你的工作副本的修訂版本有一個大致的瞭解,那麼中間接地方法就是根據存儲庫版本創建分支。然後,分支是乾淨的,當您使用交換機更新工作副本時,可以最大限度地減少衝突的可能性。

+0

我想你明白我的問題,但我不確定我瞭解你的解決方案。我認爲我的問題是我不完全瞭解切換的目的。基本上,我的工作副本是主幹,但是主幹凍結後,我需要將代碼提交到某處(當前主幹的一個分支)。我想繼續工作,在我的日程表上提交/解決衝突我只希望我的工作副本來自幹線分支,而不是幹線。 開關似乎要求您將工作副本和新回購地點作爲其過程的一部分進行同步,而現在我不需要這樣做。 –

+1

我明白你的問題,你想要的東西不存在。開關更新您的工作副本指向一個新的分支,這需要進行更新。我給你的技巧是儘可能確保分支與你的工作副本相同,使更新無效或接近它。 –

+0

謝謝,我遵循指導原則併成功切換。我在分支和切換之前解決了所有衝突。關於何時必須將此分支合併回原始行的建議?謝謝。 –

1

我不知道我明白你想要做什麼。無論如何,在解決這些衝突之前,您必須先與同事討論這些衝突。

但是,如果您想推遲衝突解決並開始在新分支上工作,只需簽出新分支的新工作副本。保留現有的工作副本未提交的更改(不要將其刪除!)並使用新的乾淨的工作副本。

+0

我有一個分支的修改工作副本,我想創建該分支的臨時分支,指向我當前的工作副本,並繼續工作,而不必合併/更新我當前的更改。 Switch會這樣做,除非它將啞文本合併到所有具有衝突的文件中,這幾乎是所有文件的衝突。我只是想改變我的副本指向並繼續工作的地方,最終融合回SVN希望我做的這一秒。 –

0

如果我正確地理解了這一點,您將獲得原始分支(分支1)和您從該分支代碼創建的分支(分支2)。我沒有從分支1切換到分支2,而是結賬分支2,複製我在分支1中做出的更改(解決任何衝突)並提交給分支2.我發現在分支代碼庫之間使用SVN切換並不像優雅它應該是,有時候最好只是複製/粘貼代碼更改。

+1

謝謝,它看起來像這是我唯一的選擇。我真的希望我可以推遲解決衝突,但它看起來像開關一樣強大,我認爲。 –

相關問題