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.