
Давненько хотел посмотреть в сторону распределенных систем контроля версий (DVCS). Не то, чтобы меня совсем не устраивал традиционный SVN, просто хотелось увидеть причины, по которым многие разработчики отказались от того же SVN/CVS. Чтобы не жалеть о выборе решил немного понаблюдать, что же происходит на поле этих самых DVCS. Заметных игроков здесь несколько: это git, bazaar и mercurial. Но презентация Линус Торвальдса в google расставила все точки над i. Под катом припасенные мной ссылки на разного рода полезную информацию.
Собственно, вот видео запись с презентации, прямо от создателя Git.
Если с английским не очень хорошо, пользователь belonesox На Хабре перевел это видео. Линк на плейлист на YouTube.
Совсем недавно, известный многим подкастер Umputun записал первый выпуск из своей серии технических подкастов, который посвятил теме распределенных VCS. Хоть речь и шла про Mercurial, но они с git-ом схожи как по идеологии, так и по многим командам верхнего уровня (push, pull, checkout etc). Очень рекомендую послушать -- авторитетное мнение от отличного разработчика.
Когда с концепцией всё ясно, стоит проникнуть в дебри и понять как работает эта система. Мне очень помогла книга Pro Git. Почитать ее можно прямо с сайта. К слову, это open source книга, и ее исходники и руководство по сборке можно найти (внимание, сюрприз) в git-репозитории автора на GitHub-е. Вы можете помочь автору, купив книгу в бумажном варианте либо сделав перевод на русский язык (ну или какой знаете).
Для жаждущих бОльших подробностей о внутренней работе Git-а рекомендую почитать разедл Git Internals указанной книги и посмотреть статьи ЖЖ-юзера los-t. Несмотря на то, что некоторые аспекты работы Git-а поменялись с момента публикации (2007-2008 года), поведение концептуальных вещей осталось неизменным.
В итоге было решено переезжать именно на Git. Так как основной репозиторий моего проекта находился в SVN, хотелось быстро и без мороки сконвертить это дело. Мне в этом деле очень сильно помогла статья Лёни Шевцова об его опыте перехода с SVN. Thanks a lot!
Для хостинга репозитория на пробу взял GitHub.com. Прекраснейший ресурс. Если всё таки о нём кто-то не слышал, всячески рекомендую. Работать там достаточно просто и легко, а разместить open source проект можно совершенно бесплатно.
Ну вот, теперь всё установлено, всё работает. Начинается период ежедневного пользования командами git-а. Неплохой сводный справочник по командам можно найти на Хабре. Паттерн использования "от отцов" можно посмотреть конечно же на kernel.org. Отмечу, что в этой заметке размещены шаблоны действий для разного рода участников: индивидуальных разработчиков, участников большой команды, интеграторов, администраторов репозитория. Кстати говоря, эффективное построение схемы взаимодействия внутри команды разработчиков -- очень интересная тема, но оставим ее пока за кадром. Продолжая, из свеженького на данный момент -- руководство, описывающее желаемый workflow для участников проекта Django.
Как итог, пока не жалею о переходе. В последнее время как-будто специально то и дело попадаю на различные библиотечки, которые хостятся на GitHub-е. Да и на отдыхе без интернета даже svn blame сделать нельзя. Жутко расстроило.
Если что-то забыл или ненароком соврал, добро пожаловать в комментарии.
Этот проект посвящен интересным и позновательным фактам, новостям, событиям из жизни web-разработчика.
Акцент размещенных здесь статей смещен в сторону решения задач, связанных построения сложных, нетривиальных и просто необычных систем.

Но это была бы полумера. Да и я несколько ленив, поэтому не особо хотелось разбираться с git-svn. А разбираться, уверен, пришлось бы, т.к. ну не может всё проходить гладко -- рано или поздно возникнет неведомая х%ня, которая заставит прочесть man-ы от корки до корки.
Якби ще цей wordpress присилав повідомлення про нові коментарі, ціни б йому не було…
Я наверное неправильно выразился. Перенес именно с помощью git-svn. Других простых путей я не нашел.
А комментарий был на тему того, что _постоянно_ пользоваться git-svn не хотелось, ибо лень :)
В итоге, по факту, пока приходится вручную sync-ать в свн с помощью старого доброго meld.
> Якби ще цей wordpress...
Это не вордпресс, а собственная разработка. Этот блог отчасти для его обкатки.
А комментарии на почту скоро появятся. Совсем недавно мой коллега написал плагинчик delayed job, который сейчас тестируется. Он как раз таки и будет рассылать почту подписчикам.
Пожалуйста, уберите. Иконки svn или git можно взять на соответствующих сайтах.
В процессе поиска иконки для заметки наткнулся именно на эту. Мне она показалась подходящей т.к.хорошо отображает суть: процессы ветвления и слияния.
Но если вы настаиваете, то я конечно же сменю :)
Кстати, перейти на Git оказалось очень простой затеей, Tortoise сделала как Svn, так и Git клиента, + любителям интеграционных решений: VS так и Explorer (спросите у гугла). Так что уговорить начальство о переходе с Svn на Git не составило никакого труда, зато какой профит.