我正在使用git-svn追踪同一个svn仓库中的多个分支。通常情况下,这样做都很好用,但今天我进行了一些重置(resets)和变基(rebases),突然间我的分支不能再正确地提交到远程分支了:
$ git branch
* master
a
b
$ git svn dcommit -n
Committing to svn://server/repo/trunk ...
$ git checkout a
$ git svn dcommit -n
Committing to svn://server/repo/branches/a ...
$ git checkout b
$ git svn dcommit -n
Committing to svn://server/repo/branches/a ...
因此,分支b将提交到branches/a目录而不是branches/b目录。
我尝试更改被跟踪的分支:
$ git branch --set-upstream b remotes/b
还有其他方法,但唯一有效的解决方案是删除分支 b 并重新创建它:
$ git branch -D b
$ git branch b remotes/b
$ git svn dcommit -n
Committing to svn://server/repo/branches/b ...
现在我的问题是:git svn 如何确定要提交到哪个目录?我该如何修改这个目录?
谢谢,
乔纳斯