Изучение управления версиями сначала с помощью git или через SVN? - PullRequest
3 голосов
/ 10 февраля 2010

В настоящее время группа, частью которой я являюсь, использует SVN. Мы смотрим на переезд в мерзавец. Я лично использовал git (и на самом деле использую git-svn для подключения к основному репозиторию SVN), поэтому я убежден в его преимуществах.

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

У кого-нибудь есть опыт любого подхода - прыгнуть прямо в git или сначала ознакомиться с svn?

Ответы [ 5 ]

9 голосов
/ 10 февраля 2010

Используйте то, что вы собираетесь использовать. Нет причин тратить время на приобретение привычек, которые не применимы к вашей производственной среде. Контроль исходного кода - это не операция на головном мозге - не усложняйте его.

8 голосов
/ 10 февраля 2010

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

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

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

4 голосов
/ 11 февраля 2010

Кривая обучения для мерзавца - это настоящий ад. Немного учиться легко, но и опасно :-) Тем не менее, во многих отношениях это хороший инструмент, и я не думаю, что вашим пользователям будет полезно, если вы сначала изучите svn. Многие из сильных сторон git (ветвление и слияние, клонирование, отключенные коммиты) не имеют смысла в контексте SVN, или они работают иначе.

Вот некоторые вещи, которые я говорю людям, когда я учу их, git:

  • Начните с Git Magic .
  • Не ожидайте, что все будет иметь смысл.
  • На поверхностном уровне команды git кажутся очень мощными и ортогональными, так что работает множество комбинаций. Не обманывайтесь. Не каждая комбинация работает; например, никогда не пытайтесь перейти в репозиторий, в котором есть извлеченные рабочие файлы, особенно если в них есть изменения. Мгновенная потеря!
  • Придерживайтесь модели, для которой был разработан git: каждый разработчик поддерживает рабочее и публичное репо. Вы вносите изменения в рабочее репо, помещаете их в общедоступное репо и извлекаете из общедоступных репо других разработчиков.
  • Не забывайте, что притяжение не двойное толчок; тяга также делает слияние.
  • Не забывайте, что вы не можете объединиться, пока не будут приняты все локальные изменения.
  • Для управления фиксациями и индексом используйте git-gui: -)
0 голосов
/ 10 февраля 2010

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

Если у вас есть свежие люди, я бы пошел на прямой мерзавец, потому что контроль версий намного более убедителен, когда вы используете локальные коммиты и

rebase -i

0 голосов
/ 10 февраля 2010

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

Если вы можете справиться с кривой обучения, я бы порекомендовал git.

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