A git svn fetch
добавляет новую удаленную ветку, называемую remotes / git-svn (как видно из git branch -a
).
Если вы внесете изменения в вышестоящий svn, а затем снова запустите git fetch
, изменения будут извлечены (фактически извлечены) в этой ветви, а не в master.
Таким образом, чтобы git log (и все остальное) работало нормально в основной ветке, вам просто нужно выполнить слияние, как вы обычно должны делать после выборки (это то, что делает git pull, выборка, а затем слияние) .
Поскольку git svn pull не работает, вам придется объединить его вручную. Находясь в основной ветке, запустите:
git merge remotes/git-svn
Это объединит вашу основную ветку с веткой git-svn, и все снова будет в порядке.
Так что в будущем запусти
git svn fetch
git merge remotes/git-svn
и вы снова будете в курсе вышестоящего репозитория.
Установка ссылки головы мастера на git-svn head, как предлагает vjangus, также сделает эту работу, но вы никогда не должны вносить изменения в удаленную ветку.