git svn gatekeeper repository

Я уже довольно давно использую git, в основном git-svn. Теперь я хочу убедить своих коллег перейти с svn на git. Но, к сожалению, предварительным условием является то, что репозиторий svn продолжает жить довольно долго. Итак, я стал искать решение и нашел книгу:

Джона Лелигера «Контроль версий с помощью Git». Я купил его, и он действительно хорош, но я не совсем понимаю руководство по настройке репозитория git svn gatekeeper.

В главе 16 он описывает Теперь я хочу убедить своих коллег перейти с svn на git. Но, к сожалению, предварительным условием является то, что репозиторий svn продолжает жить довольно долго. Итак, я стал искать решение и нашел книгу:

Джона Лелигера «Контроль версий с помощью Git». Я купил его, и он действительно хорош, но я не совсем понимаю руководство по настройке репозитория git svn gatekeeper.

В главе 16 он описывает Теперь я хочу убедить своих коллег перейти с svn на git. Но, к сожалению, предварительным условием является то, что репозиторий svn продолжает жить довольно долго. Итак, я стал искать решение и нашел книгу:

Джона Лелигера «Контроль версий с помощью Git». Я купил его, и он действительно хорош, но я не совсем понимаю руководство по настройке репозитория git svn gatekeeper.

В главе 16 он описывает ситуация, в которой есть Репозиторий Subversion и как минимум пара пользователей, которые хотят использовать Git. Он предлагает сингл репозиторий git "привратник", который единственный интерфейс для подрывной деятельности. После того, как git svn клонирует подрывную версию репо (с --prefix = svn /), все ветви затем проталкиваются к голому репозиторий (git push ../svn-bare.git 'refs / remotes / svn / : refs / Head / svn / ', и другим пользователям git предлагается клонировать это репо, которое теперь содержит локальные ветви всех svn-пультов.

Эта часть работает, и я думаю, что я ее полностью понимаю. Но я не понимаю следующей части:

Если разработчик, который клонирует голый репозиторий, отправляет изменения обратно из своего репозитория в пустой репозиторий, а затем я фиксирую это в голом репозитории в svn, коммиты, отправленные пользователем, теряются не зря из-за замененных коммитов, которые создает git-svn. Или я не прав? Как это работает?

В книге говорится

Затем, чтобы снова слиться с подрывной деятельностью, в репозиторий привратника, выполните

git checkout svn / trunk (или другой ветка - это проверка отдельная голова как svn / trunk - это удаленный) git merge --no-ff новая функция git svn dcommit

Как проверить ветку в пустом репозитории? Я не думаю, что это сработает

Это приводит к фиксации слияния на оторванная голова, а затем модифицированная совершить (после строки git-svn-id добавлено) ставится на настоящий svn / trunk филиал.

Что подразумевается под настоящим svn / trunk?

Фиксация на отсоединенном голова "хуже, чем лишний". Использование это для чего-нибудь еще в конце концов приводит к конфликтам. Так что просто забудь об этом коммите. Если вы не поставили это в первую очередь на ветке, это намного легче забыть »(Джон Лелигер)

Я немного запуталась. Есть ли у кого-нибудь лучшее объяснение создания репозитория git svn gatekeeper? Я искал в Интернете и на этом сайте, но не нашел ничего подходящего для меня.

Я так устал тратить столько времени на ветвление и слияние svn, когда я сотрудничаю с моими коллегами.

15
задан Bo Persson 25 August 2011 в 20:22
поделиться