git svnを以下のような構成で使っていた時に、git svnのリモートトラッキングブランチのpointerがtrunkに代わってしまい、いつのまにかブランチにcommitしたつもりのものがtrunkにcommitされるという事があり、困りました。

gitから.gitにpushしたものを git-svnからpullしたタイミングで発生するようです。
解決策としては、git-svnでgit pullをせずに、
1 % git fetch remote-name 2 % git merge --no-ff remote-nam e/branch-n ame 3 % git svn dcommit
でok. アクシデンシャルなdcommitを防ぐには、--dry-runが便利です。



ちなみに、pointerが変わってしまったworking treeを元に戻すには、
1 % git reset --hard remotes/branch-nameでリモートトラッキングブランチを指定すればok.