我在SVN中有一個分支,我想用中繼中的新更改進行更新。我也有一些在本分支中進行本地修改的文件。我不想承諾這些更改。將中繼合併到具有本地更改的分支中
如果我嘗試從主幹的修改合併到這個分支,它給了我一個錯誤:
Error: Cannot merge into a working copy that has local modifications
有沒有辦法合併主幹到分支遠程服務器上,這樣我就可以之後通常更新分支?
我在SVN中有一個分支,我想用中繼中的新更改進行更新。我也有一些在本分支中進行本地修改的文件。我不想承諾這些更改。將中繼合併到具有本地更改的分支中
如果我嘗試從主幹的修改合併到這個分支,它給了我一個錯誤:
Error: Cannot merge into a working copy that has local modifications
有沒有辦法合併主幹到分支遠程服務器上,這樣我就可以之後通常更新分支?
這是強烈推薦您使用工作目錄的乾淨和最新副本合併。
但是,如果你想打破這些基本規則和搬起石頭砸自己的腳,顛覆給你的工具的子彈:
$ svn merge --force --allow-mixed-revisions $repo_url
的--allow-mixed-revisions
參數將允許合併發生連如果工作副本中有混合版本。即使存在本地更改,--force
參數也將允許您合併。
實際上有一些情況下使用--force
可能是一個好主意,但我想不出任何原因。
不需要。您必須通過工作副本上的合併過程,解決潛在的衝突並提交。
但是工作副本可能與您當前正在使用的工作副本不同:只需重新檢出分支到新目錄,在此新目錄中進行合併並提交。
這對我有用。合併到一個乾淨的檢出,提交,然後在本地更改的分支上運行更新。 – tim654321
不幸的是--force不能與--reintegrate –
一起使用'--reintegrate'標誌完全改變了合併的方式。合併從三方合併變爲單純雙向合併。主要目的是強制_development stream_正在與您正在合併的_development stream_匹配。你不能使用混合版本,因爲它沒有任何意義,你必須有一個乾淨的結帳。較新版本的Subversion客戶端嘗試查看合併是否是_reintegration merge_並且不需要「--reintegrate」標誌。 –