你可以開始與主幹同步,因爲這是這樣做的正常方式,並且看到什麼appen。如果您發現解決同步衝突時遇到太多困難,則可以恢復到乾淨的分支並嘗試解決方案2.
如果您真的準備好重新集成解決方案2,則只能選擇解決方案2,否則您將需要額外的工作同步。或者您的開發分支將從分支1更改爲您合併的分支2,並且下一次您將創建分支3等等......
關於解決衝突,您始終可以採用安全策略或「他們的改變「或」全部「。提醒一下,在你的工作日,你可以搞砸事情並恢復。 您最終可以接受所有'他們的衝突'並明確地重放您的更改,這將與解決方案2具有相同的效果,而無需創建臨時分支。
另外,主幹上的大部分更改可能與您的開發沒有關係,如果您的更改很少,則無關於主幹上的其他更改,您的代碼數量不會超過數量你寫的代碼。
關於你的第二個問題:如果重新集成時它可能導致問題,否則它不應該提供你使用--reintegrate選項。 無論如何,即使它會,你不應該擔心,因爲'merge'或'merge --reintegrate'的結果只適用於你的workdir。以便您可以測試並修復或還原。
cd workdir
svn merge ^/trunk
#resolve conflicts
svn ci
svn update
svn status -q
# to ensure there is no pending changes
svn switch ^/trunk
svn merge --reintegrate ^/branches/your_branch
# resolve conflicts and test or revert
# and only if you are satisfied:
svn ci
svn up
# if your not satisfied:
svn revert
svn merge --reintegrate ^/branches/your_branch
# try resolve conflict in an another way ...
如果這將是一個混亂的合併,那麼我會完全推薦策略2 - 從主幹創建一個新分支,並將其中的更改合併到它。這樣,如果出現問題,你還沒有污染你的原始分支。或者,只需在合併之前標記您當前的分支,並且您可以輕鬆地還原爲標記。 –