Я бы хотел синхронизировать локальный 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...]
Теперь master и trunk находятся во главе моего локального хранилища.
> git push
To ssh://huxhorn@lilith.git.sourceforge.net/gitroot/lilith/lilith
! [rejected] master -> master (non-fast forward)
error: failed to push some refs to 'ssh://huxhorn@lilith.git.sourceforge.net/gitroot/lilith/lilith'
Это означает, AFAIK, что я должен сначала выполнить тягу. Тааак ....
> git pull
Already uptodate!
Merge made by recursive.
что возвращает меня к самому началу ... :( Сполосните и повторите.
У меня такое ощущение, что я упускаю здесь довольно важный момент. Кто-нибудь может мне это объяснить?