двунаправленная операция между репозиторием Subversion и Git (Bidirectional operation between a Subversion repository and Git)
REBASE VS. PULL/MERGE
Prefer to use git svn rebase or git rebase, rather than git pull
or git merge to synchronize unintegrated commits with a git svn
branch. Doing so will keep the history of unintegrated commits
linear with respect to the upstream SVN repository and allow the
use of the preferred git svn dcommit subcommand to push
unintegrated commits back into SVN.
Originally, git svn recommended that developers pulled or merged
from the git svn branch. This was because the author favored git
svn set-tree B
to commit a single head rather than the git svn
set-tree A..B
notation to commit multiple commits. Use of git
pull or git merge with git svn set-tree A..B
will cause
non-linear history to be flattened when committing into SVN and
this can lead to merge commits unexpectedly reversing previous
commits in SVN.