Что если вы не хотите фиксировать каждый коммит, который вы делаете в Git, в репозиторий SVN? Что если вы просто хотите выборочно отправлять коммиты по каналу? Ну, у меня есть лучшее решение.
Я держу один локальный репозиторий Git, где все, что я когда-либо делаю, это выборка и слияние из SVN. Таким образом, я могу убедиться, что я включаю все те же изменения, что и в SVN, но я полностью храню свою историю коммитов из SVN.
Тогда я храню отдельную локальную рабочую копию SVN, которая находится в отдельной папке. Это тот, из которого я делаю коммиты обратно в SVN, и для этого я просто использую утилиту командной строки SVN.
Когда я готов передать состояние моего локального Git-репозитория в SVN, я просто копирую весь беспорядок файлов в локальную рабочую копию SVN и фиксирую его оттуда, используя SVN, а не Git.
Таким образом, мне никогда не придется делать какие-либо перебазировки, потому что перебазирование похоже на freebasing.