Я хочу, чтобы локальный репозиторий 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.
который возвращает меня в самое начало...:( Промыть и повторить.
У меня такое ощущение, что я пропустил здесь довольно важный момент. Может кто-нибудь объяснить это мне?