切换svn分支git dcommits

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东西?

我知道我的工作流程不是最优的,任何改进它的建议也是受欢迎的.

Dan*_*ich 4

正如这个问题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 。和组合仅进行更改本身。mastertcformat-patcham