git и svn философски различны, и пуш / пуллинг - одно из ключевых отличий.
Хотя я могу утверждать, что то, что вы предлагаете, в корне неверно (и вы даже предлагаете это в своем вопросе), вы могли бы достичь своей цели с помощью псевдонимов и небольшого переосмысления.
Они не идеальны, но могут работать для вас или дать вам некоторые идеи.
#file: .git/config
# assumes your svn-remote is called svn
alias.co = git config svn-remote.svn.url > /dev/null && git svn rebase || git pull --rebase
alias.ci = git config svn-remote.svn.url > /dev/null && git svn dcommit || git push