Я хочу, чтобы локальный репозиторий GIT синхронизировался как с удаленным GIT, так и с хранилищем SVN.
Я выполняю следующие шаги:
> git push Everything up-to-date
> git pull Already up-to-date.
Хорошо, мои удаленные репозитории GIT кажутся прекрасными до сих пор.
> git svn rebase First, rewinding head to replay your work on top of it... Applying: Fixing some javadoc problems. Using index info to reconstruct a base tree... <stdin>:13: trailing whitespace. \t <stdin>:21: trailing whitespace. \t\t\t\t<configuration> <stdin>:22: trailing whitespace. \t\t\t\t\t<links> <stdin>:23: trailing whitespace. \t\t\t\t\t\t<link>http://java.sun.com/javase/6/docs/api/</link> <stdin>:24: trailing whitespace. \t\t\t\t\t</links> warning: squelched 1 whitespace error warning: 6 lines add whitespace errors. Falling back to patching base and 3-way merge... Auto-merging lilith-parent/pom.xml
Я заменил вкладки \t для ясности.
Это слияние, которое я уже сделал, ранее...
Теперь у меня есть новая локальная версия.
> git svn dcommit [commits the new version to SVN... again...]
Теперь мастер и соединительная линия находятся во главе моего локального репозитория.
> git push To ssh://[email protected]/gitroot/lilith/lilith ! [rejected] master -> master (non-fast forward) error: failed to push some refs to 'ssh://[email protected]/gitroot/lilith/lilith'
Это означает, что AFAIK, что я должен выполнить pull сначала. Тааак....
> git pull Already uptodate! Merge made by recursive.
который возвращает меня в самое начало...:( Промыть и повторить.
У меня такое ощущение, что я пропустил здесь довольно важный момент. Может кто-нибудь объяснить это мне?