Git для пользователей SVN - PullRequest
       4

Git для пользователей SVN

9 голосов
/ 16 ноября 2011

Я уже довольно давно заядлый пользователь git.Однако я часто отмечаю, что опытные пользователи SVN, похоже, имеют много проблем с использованием git.Теперь я ищу ресурсы для того, чтобы сделать git более доступным для людей, которые давно привыкли использовать SVN и развили привычку из причуд SVN.

Я знаю, что есть gitУскоренный курс SVN , но это не дает нужную мне информацию.Хотя это легко сопоставляет общие команды SVN с аналогичными командами Git, люди, как правило, используют более сложные рабочие процессы, которые зачастую сложно сопоставить, просто отображая команды из одного инструмента в другой.

Например, многие людиЯ знаю, что обычно склонны хранить несколько версий версий программного обеспечения в разных каталогах, чтобы иметь возможность легко переключаться между ревизиями.Для меня это выглядит как грязный обходной путь, с которым Git легко справляется в процессе git stash, git checkout.Также я отметил, что люди, использующие SVN, склонны по-разному относиться к веткам.В то время как в SVN все коммиты из ветвей полностью принадлежат этой ветке (поскольку они относятся к этому каталогу), в Git действительно нет такой вещи, как «коммит из ветки», потому что каждая ветвь будет включать все коммиты, достижимые из этого текущего состояния ветки.

Существует ли какое-либо руководство, которое отображает эти концепции, чтобы сделать Git более доступным для пользователей SVN, которые вынуждены его использовать?

Ответы [ 5 ]

4 голосов
/ 16 ноября 2011

По моему мнению, попытка описать Git с помощью svn-терминов или наоборот будет бесполезной задачей. Я думаю, что эти два принципиально разные.

Лучший подход, на мой взгляд, состоит в том, чтобы попросить своих пользователей постараться забыть то, что они знают о svn, и изучить Git с открытым сердцем.

2 голосов
/ 16 ноября 2011

У нас только что была миграция SVN в Git на работе.Одним из самых важных моментов было не напугать пользователей.Незнакомые инструменты делают людей неудобными.Вот почему важно сделать переход максимально плавным.

  • , помогите с настройкой.Пользователи SVN, вероятно, не знают, как настроить ssh-ключи
  • , чтобы сначала рассказать им о сходстве.Эти команды очень похожи
    • git commit
    • git log
    • git branch
    • git merge
  • послеКогда-нибудь вы сможете представить более сложные темы
  • дать людям время использовать их старый рабочий процесс в новой системе, а когда они будут готовы перейти к следующему уровню, представьте дополнительные темы

Не все люди будут продвигаться с одинаковой скоростью, некоторые могут даже использовать Git как замену SVN.Это не проблема сама по себе.Более важно, чтобы те, кто хочет узнать больше, и те, кто хочет использовать инструмент так, как он был разработан, получили соответствующую поддержку.Они помогут другим добиться прогресса.

Мы попытались создать игровую площадку, которая была довольно бесполезной.Почти все люди, которые еще не знали Git, не пробовали ничего. Они просто хотят закончить свою работу. и у них нет времени играть ...

Все же, в целом, это был хороший успех, и многие начинаютиспользовать расширенные функции.Я бы не подумал, что люди будут работать с несколькими пультами только через два месяца после запуска, но это так.Они разветвляются и объединяются, как профессионалы, и когда у них возникают проблемы, они спрашивают.

Для размещения наших репозиториев мы решили создать собственный Gitorious сервер.Это имеет несколько больших преимуществ.Во-первых, это хорошо разработанный интерфейс, а во-вторых, это просто Rails.Если вы знаете MVC, вы можете легко настроить его под свои нужды.

1 голос
/ 04 апреля 2014

Есть много учебных пособий, но я обнаружил, что на этой странице есть хорошее отображение 1-1: http://git.or.cz/course/svn.html

1 голос
/ 16 ноября 2011

также из SVN, я справился с git лучше после окончания лабораторий на gitimmersion.com

1 голос
/ 16 ноября 2011

Я думаю, что ключевым отличием для кого-то, исходящего из мышления SVN, является то, что git рассматривает «проверку кода» и «обмен кодом с командой» как отдельные действия, где SVN объединяет их вместе в подкоманде commit (и опытного пользователя SVN даже не понимает, что это разные действия - я не знал). Это то, что дает свободу ветвления и возможность переупорядочивать и сдвигать коммиты, поэтому понимание этого крайне важно.

Еще одна вещь, которая действительно помогла мне, это описание структуры репозитория, главным образом, то, что главы - это просто указатели для фиксации объектов.

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