Вставить существующее хранилище git в существующее хранилище SVN - PullRequest
6 голосов
/ 08 января 2012

Меня попросили, чтобы школьный проект отправил мою работу, отправив ее в существующий SVN-репозиторий. Это существующее хранилище, в котором уже есть некоторые файлы. Мне не нужны эти файлы или предыдущие коммиты.

Я работал над своим заданием с git-репозиторием на моем. Я хотел бы перенести свою работу в хранилище SVN без потери истории. Как я могу это сделать?

Ответы [ 2 ]

8 голосов
/ 08 января 2012

Я бы сделал микс. То есть сначала клонируем svn с git svn . Затем в этом новом хранилище вы сливаете свою работу из текущего хранилища git.

$ git svn clone http://svn.example.com/project/trunk
$ cd trunk
$ git checkout -b mywork
$ git pull /path/to/current/work/repository/.git master

Теперь у вас есть работа в ветке mywork в клоне из Subversion. Время сливаться и толкаться.

$ git checkout master
$ git merge mywork
$ git svn dcommit

Наслаждайтесь!

0 голосов
/ 08 января 2012

Вы можете, в качестве предварительного условия, убедиться, что все ваши изменения в git были применены или объединены в ветку master.

Затем вы можете запустить git-svn rebase, чтобы объединить любые обновления из SVN и, наконец, git-svn dcommit, чтобы зафиксировать изменения.

Здесь есть подробное объяснение - cf - http://www.viget.com/extend/effectively-using-git-with-subversion/

...