Советы по SVN <-> Git Workflow - PullRequest
       5

Советы по SVN <-> Git Workflow

3 голосов
/ 09 ноября 2010

У меня проблема с использованием Git.Имейте в виду, что я очень плохо знаком с Git.

Проблема: Мне нужно синхронизировать свою работу с моим домом / мобильным телефоном.Мое рабочее место использует SVN, и к нему нельзя получить доступ извне (я не могу изменить это).Я также заблокирован от sshing снаружи (я не могу изменить это также).Вернувшись в мой дом, я должен совершить свои изменения.

Предлагаемое решение:

SVN Server -> Git (in my Office PC) -> Github -> Git (in my House PC)
SVN Server <- Git (in my Office PC) <- Github <- Git (in my House PC)

Причина, по которой я выбираю Github, заключается в том, что из-за его поддержки HTTPS это решит мою проблему с выходом за пределы моего офиса..

Итак, мой вопрос:

  1. Это правильный способ сделать это?
  2. Если это достаточно хорошо, кто-нибудь может дать мне грубый примеро том, как я могу это сделать?

Я знаю, что второй вопрос является большим, но у меня возникают проблемы при объединении моих изменений из моего дома на сервер SVN.Заранее спасибо.

Обновление:

На самом деле я использую USB-накопитель в качестве носителя для передачи моего Git-репозитория.Однако я надеялся, что мне вообще не понадобится USB-накопитель (все автоматически сортируется в Интернете, и я боялся, что где-нибудь уроню USB).Некоторое время я даже использовал Dropbox, но потом репозиторий стал слишком большим, и Dropbox не очень хорошо работает с большим количеством маленьких файлов (более 20 000).

После некоторого рассмотрения (сложность процесса, чувствительность данных), я думаю, что я просто запишу USB-накопитель для передачи своего Git-репозитория.Тем не менее, я оставлю вопрос открытым, чтобы я мог изучить некоторые команды Git из этой проблемы.

Кстати, это мой текущий рабочий процесс в целом:

  1. SVN Server -> Git (Office PC) -> Github -> Git (House PC) Нет проблем
  2. В моем доме: создал логин филиал и отправил его обратно на Github.
  3. В офисе: впервые, Я клонировал обратно из своего репозитория Github и слил ветку входа в систему.
  4. Затем git svn init svn://url -s
  5. ???

Я попробовал несколько команд, но я не думаю, что это работает, надеялся, что кто-то может помочь начать с шага 5.

Ответы [ 2 ]

2 голосов
/ 09 ноября 2010

Предполагая, что эта работа не потребует от вас отправки базы кода на GitHub, даже в частном репо, вы можете добавить удаленное репо на подключенный USB-накопитель и переносить его туда-сюда.

1 голос
/ 09 ноября 2010

Несколько вещей приходят на ум:

  1. Хранение корпоративных данных на Github вполне может противоречить корпоративным политикам безопасности.
  2. Репозитории git-svn не предназначены для совместного использования между компьютерами.

Возможно, хорошим вариантом будет git svn clone хранилище на флешку. Затем возьмите этот дом, поработайте над ним и создайте коммиты. Затем вы можете git svn rebase && git svn dcommit из репозитория, когда приступите к работе, в соответствии с обычным рабочим процессом git-svn.

РЕДАКТИРОВАТЬ: Рассматривали ли вы запуск sshd на альтернативном порту или прокси SSH через HTTP (S)? В прошлом мне везло с тем или иным приемом, в зависимости от действующих ограничений. Это может быть не кошерно, но я уверен, что это намного лучше, чем хранить исходный код вашей компании на Github.

...