[英]Switch the svn branch git dcommits to
我有master
dcommit
到 Subversion trunk
(和rebase
)。
我創建了一個中間 Subversion 分支tc
,以合並來自 2 個不同分支的更改,使用:
git branch master
git svn branch tc -m "Branch for merging"
git checkout -b tcl --track tc
git merge cat #Another branch, whose changes I merged here
git commit -m 'Merged changes from cat branch'
git svn dcommit
既然一切都很好,我想把它推廣到trunk
。 我跟着做:
git branch master
git merge tcl
git svn dcommit
現在,因為master
是從另一個指向不同 Subversion 分支的分支合並的,它會嘗試提交到 Subversion 分支tc
。 我希望它提交給 Subversion trunk
。
是否有git svn switch
或類似的東西?
我知道我的工作流程不是最佳的,也歡迎任何改進它的建議。
正如在這個問題中提到的,在帶有git-svn
的存儲庫中使用git merge
不是一個好主意。
相反,將更改“合並”到master
中應該做的是:
git checkout master
git format-patch --stdout master..tcl | git am
git svn dcommit
在這種情況下, git merge
的問題在於,它還將master
的git-svn
URL 設置為 SVN tc
分支。 format-patch
和am
組合只需要更改本身。
AFAIK --no-ff
合並會按照你想要的方式進行:
git branch master
git merge --no-ff tcl
git svn dcommit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.