Уважаемый читатель, огромная просьба, оставляй комментарии, критикуй, вырази свое мнение. Это очень важно для меня. Особенно КРИТИКА!!!
Буквально на месяц назад мне пришлось столкнуться с проблемой контроля версий. До этого много слышал про 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, спасибо вам от одного маленького, но очень усердного разработчика. Вы очень сильно облегчили мою жизнь.