Найти тему
Эрик Соблев

Git vs SVN для малой команды.

Уважаемый читатель, огромная просьба, оставляй комментарии, критикуй, вырази свое мнение. Это очень важно для меня. Особенно КРИТИКА!!!

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

Для начала, зачем мне Version Control(VC): Во-первых, мне осточертело описывать все свои изменения кода в тетради. Бумага хороша, но не в этом случае. Слишком много времени я тратил на записи. Во-вторых, я пару раз случайно удалял целые дни своей работы(благо, я все записывал, не трудно было восстановить) В-третьих, я вконец запутался в копиях. На каждые несколько десятков строк кода, боясь сломать что-то, где-то, я делал копию проекта. Это АД. Поехали по пути выбора:

1) Весь интернет топит за Git. Наверняка не просто так, значит надо попробовать. Попробовал. Ничего не понял. Какие-то распределенные сервера, ветвления, неудобный GitHub клиент... . Короче, с первого взгляда мне не понравилось.

2)Далее я взглянул на SVN. С ним я работаю, не ничего не понимаю. Начал искать инфу. К счастью, ее много, но кодеры на форумах пишут, что она тупая, неудобная, какой-то сервер файловый у них идиотский... Много пишут =). Я, начитавшись гадостей про эту систему, решил что она не для меня(надо сказать, что используя TortoiseSVN, мне пришлась по вкусу идея интеграции VC в Проводник).

3) Почитал немного про Mercurial... решил, что надо выбирать из Git и SVN. Спойлер: выбрал SVN.

4) Мне ничего не понравилось, но и моя текущая ситуация - это полный пушистый зверек. Как написал ранее, Git показался мне очень сложным. Не хочу разбираться в сложном, поэтому остановился все на том же SVN(позже я наткнулся на TortoiseGIT, который крут. В конце статьи скажу спасибо команде разработчиков). Разобрался => начал юзать. Но и в Git вроде как понял.

5) Я усложнил себе жизнь, но оно того стоит. Я создал еще один репозиторий SVN только для себя на своей машине. Сначала я рабочую копию заливаю туда, потом беру оттуда, и только потом работаю с копией копии. Да, тут есть неудобство, но проблема бумаги решена. каждую строчку я могу закоммитеть, с огромной долей вероятности смогу найти ошибки и в голове не держу все свои изменения. Я НИЧЕГО НЕ ТЕРЯЮ, если случайно мне вздумается психануть и все снести(забыл сказать, что я занимаюсь "Кровавым Энтерпрайзом"). Т.е таким не очень элегантным способом я решил ВСЕ свои проблемы из списка выше.

Это было большое вступление. Теперь сами мысли: SVN удобен для малой команды т.к. у нас ОДИН сервер. Нет множества веток. только одна. у всех разработчиков своя рабочая копия. Все сливаем вместе. Одна ветка - это ХОРОШО, и вот почему: За любой косяк приходится браться сразу. Его не отложить в долгий ящик, приходится сразу разбираться с проблемами. Так что я не вижу проблемы в ветвлении, когда его нет.

немного насчет Git: он крут(это я понял недавно, ибо поиграл с ним какое-то время.). Я не сравнивал эти системы кроме как в простоте освоения. А именно в этом моменте SVN для меня был намного круче.

На этом Все. Всем добра. Меньше стресса, больше эспрессо.

P.S.

THE TORTOISESVN TEAM и THE TORTOISEGIT TEAM, спасибо вам от одного маленького, но очень усердного разработчика. Вы очень сильно облегчили мою жизнь.