2010-03-29 4 views
4

фонКак resync git с svn tree?

Я добавляю некоторые функции в проект, который использует диверсию - Я использую Git-SVN, чтобы клонировать его на моем локальном хранилище, ГИТ-SVN перебазироваться сохранить с последними изменениями в официальных ствола и сохранить историю линейной.

Недавно я забыл себя и сделал несколько слияний, которые испортили мою короткую историю. Мне нужно было потратить некоторое время на вишневый выбор, чтобы сделать историю линейной снова. После этого 1 rebase пошла хорошо, но теперь попытка сделать git-svn rebase показывает, что конфликт между транзакциями subversion с 2008 года (около 700 коммитов), хотя история кажется линейной.

Вопрос

  1. Есть ли способ восстановить/пересинхронизироваться моим репозиторий с стволом SVN?
  2. Если я клонирую свой git-репозиторий на другом компьютере (без .git/svn-папки) - можно ли его переустановить с помощью svn, зная URL-адрес репо и последнюю измененную версию?
+0

, если пульт не использует даже мерзавец, зачем с rebase вообще? в конце дня вы отправите им патч, не так ли? – hasen

+0

@hansen - ну нет .. Я не официальный участник. Я принимаю свои изменения в github. Иногда я просто посылаю им сообщение с тем, что я изменил, и где они могут его получить. – kyrisu

ответ

2

Вы можете сбросить свою ветку до фиксации, которая определенно синхронизирована (какая-то старая), а затем выполнить синхронизацию.

Чтобы сохранить изменения, внесенные локально, вы можете расшириться раньше (и вишневой выбрать необходимые изменения из этой новой ветки afterwatds)

git branch branch_with_my_changes 
git reset --hard very_old_commit_that_is_synced 
git svn rebase 
Смежные вопросы