據我瞭解,git-svn不支持推送合併提交。git:在合併時使用git-svn
有沒有辦法使它與這樣的提交工作?
我們嘗試使用rebase創建線性歷史記錄。但是,這會導致空白錯誤發生衝突。有沒有一種線性化歷史的方式,所以沒有衝突?
據我瞭解,git-svn不支持推送合併提交。git:在合併時使用git-svn
有沒有辦法使它與這樣的提交工作?
我們嘗試使用rebase創建線性歷史記錄。但是,這會導致空白錯誤發生衝突。有沒有一種線性化歷史的方式,所以沒有衝突?
基礎重建合併進入SVN信息的最簡單的方法是用來壓制它們:
假設我們重訂的分支dev
到trunk
git checkout trunk
git merge --squash dev
您可能需要修復真正的合併trunk
和dev
之間的衝突。最後你有一個提交你可以很好git svn dcommit
。
這種方法的不足之處在於,你鬆散了SVN提交的粒度。如果這是一個問題,您可以爲git使用基於rebase的合併策略(例如http://unethicalblogger.com/2010/04/02/a-rebase-based-workflow.html)。
這不是直接的,但可能的。
退房的特性分支
$ git checkout feature1
創建一個Subversion分支,preferrably具有相同的名稱和重訂本地的Git分支
$ git svn branch feature1
$ git rebase remotes/feature1
當你把你的變化,他們會去Subversion分支,而不是去幹線。
$ git svn dcommit
只有這樣,才能做電子商務合併,我知道是使用臨時SVN結賬,並使用svn merge
的。對於可以自動執行並且沒有衝突的合併,編寫最後一個步驟(SVN存儲庫查找,臨時結賬,合併)的腳本對我而言效果很好。