Как использовать SVN локально и передавать изменения на удаленный сервер Git? - PullRequest
1 голос
/ 22 января 2010

Я использую Версии в OS X для управления всем моим кодом в Subversion. Я не заинтересован в существенном изменении моего текущего рабочего процесса, пока в Git не появится отличное приложение с графическим интерфейсом, такое как Versions.

Один из моих клиентов хочет, чтобы я отправил свой код в частный репозиторий GitHub. Есть много вопросов и статей о локальном запуске Git и отправке на удаленный сервер Subversion, но я не могу найти никаких предложений для противоположного сценария.

Чтобы было ясно, что я хочу сделать, это:

  1. Сохранение моего кода в локальной проверке Subversion (центральное хранилище на самом деле находится на удаленном сервере, но я надеюсь, что здесь это не имеет значения)
  2. Всякий раз, когда я делаю доставку клиенту, я хотел бы запустить такую ​​команду, как "git update-github-with-local-svn-changes"
  3. Если кто-то ещё фиксирует GitHub (редко), я бы хотел запустить команду типа "git update-local-svn-with-github-changes"

Ответы [ 3 ]

1 голос
/ 22 января 2010

Лучший ответ, который я могу придумать, - это использовать git-svn для создания git-копии вашего сервера Subversion, а затем отправить созданную ветку в github. Когда в github внесены изменения, потяните их вниз, объедините их с вашей веткой, клонированной из Subversion, и передайте их в Subversion. Это рассматривает всю сторону github как нисходящий поток от вашего (главного) сервера subversion, и вы должны иметь возможность использовать все предложения, уже существующие для управления им.

Если в github уже есть код, вам, возможно, придется немного потанцевать с перебазированием. Основная идея заключается в том, чтобы получить последний исходный код, импортировать его в Subversion, извлечь из Subversion с помощью git-svn, а затем перебазировать последний коммит git-svn поверх ветви из github. Затем у вас есть история git с новым коммитом во главе, содержащим метаданные git-svn. Я не пробовал это все же.

0 голосов
/ 22 января 2010

Вы пробовали GitX . Может быть достаточно хорошего графического интерфейса для git, чтобы вы могли просто использовать git.

0 голосов
/ 22 января 2010

Существует мост git-to-svn, называемый достаточно git-svn, который позволяет использовать Git локально, а затем передавать / извлекать на удаленный сервер SVN. Но я не знаю инструмента, который поддерживает противоположное направление. Я уверен, что узнаю об одном из ответов на этот вопрос!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...