Lak*_*sad 6 svn git git-svn branching-and-merging
我不得不master
dcommit
(和rebase
来自)Subversion trunk
.
我创建了一个中间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
Run Code Online (Sandbox Code Playgroud)
既然一切都很好,我想把它推广到trunk
.我跟着做了:
git branch master
git merge tcl
git svn dcommit
Run Code Online (Sandbox Code Playgroud)
现在,因为master
从另一个指向不同Subversion分支的分支合并,它尝试提交到Subversion分支tc
.我希望它致力于Subversion trunk
.
有没有这样的git svn switch
东西?
我知道我的工作流程不是最优的,任何改进它的建议也是受欢迎的.
正如这个问题git merge
中提到的,在存储库中使用withgit-svn
不是一个好主意。
相反,您应该将更改“合并”为master
:
git checkout master
git format-patch --stdout master..tcl | git am
git svn dcommit
Run Code Online (Sandbox Code Playgroud)
本例中的问题git merge
是它还设置了SVN分支git-svn
的 URL 。和组合仅进行更改本身。master
tc
format-patch
am