Я делал это больше года, без особых проблем после того, как я правильно привык к мерзавцу.Следует помнить несколько предостережений.
Первая рекомендация - ВСЕГДА делать "git svn dcommit --dry-run" перед dcommit!Иногда вы не понимаете, что на самом деле пытаетесь вытолкнуть тонну коммитов из другой ветви, например, после git-слияния.
Во-вторых, я обычно для себя никогда не работаю над основной веткой.Я работаю над веткой git и затем REBASE на ветку master, прежде чем хочу поместить ее в svn.Используйте rebase, а не merge, поскольку у svn должна быть «линейная история» для каждой ветви / транка / тега.Кроме того, узнайте, что делает rebase и как избавиться от неприятностей (например, rebase --abort).Я всегда делаю «резервную ветку», прежде чем начинать перебазировать вещи.
Итак, чтобы перейти в SVN, это мой рабочий процесс:
git checkout master
git svn rebase
git rebase <my_working_branch>
gitk (to review the changes)
git svn dcommit --dry-run
git svn dcommit