[英]git-svn merge 2 svn branches
我正在使用svn。 我有兩個分支,並且兩個分支都進行了很多更改。 除了其中一個分支之外,很多文件都被重命名,所以現在svn無法幫助我合並這些文件中的更改(知道svn限制)。
謝謝
git merge
應該能夠檢測(最多某一點)重命名。
recursive
這只能使用3向合並算法解析兩個磁頭。
此外,這可以檢測和處理涉及重命名的合並。
這是拉動或合並一個分支時的默認合並策略。
但是git-svn
只能從/向SVN導入/導出,而不能進行合並。
合並是棘手的:
CAVEATS
為了簡單和與功能較弱的系統(SVN)互操作,建議所有
git svn
用戶直接從SVN服務器克隆,獲取和dcommit,並避免git之間的所有git clone / pull / merge / push操作存儲庫和分支機構。
在git分支和用戶之間交換代碼的推薦方法是git format-patch和git am,或者只是'dcommit'ing到SVN存儲庫。不建議在您計划提交的分支上運行git merge或git pull。 Subversion不以任何合理或有用的方式表示合並; 因此使用Subversion的用戶無法看到您所做的任何合並。 此外,如果您從作為SVN分支鏡像的git分支合並或拉出,則dcommit可能會提交到錯誤的分支。
如果你做了合並,請注意以下規則:git svn dcommit將嘗試在名為的SVN提交之上提交
git log --grep=^git-svn-id: --first-parent -1
因此,您必須確保要提交的分支的最新提交是合並的第一個父級。 否則會發生混亂,特別是如果第一個父級是同一SVN分支上的較舊提交。
我曾經在大學的一個項目中遇到過同樣的問題。 我做的是以下內容:
git svn clone -s https://…
) git checkout master; git merge branch
) svn co https://…/trunk
) svn rm
) svn ci
)提交 使用SVN合並功能合並SVN分支,會更快。 使用Git來解決這些問題非常復雜,它會產生太多的錯誤......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.