Сейчас вы с трудом найдете профессионального разработчика, который не пользуется системой контроля версий (VCS) такой, как Git.
Но есть и не мало тех среди нас, кто не использует VCS по причине предвзятого мнения о системах контроля версиий.
Ниже несколько мифов и отговорок, которые препятствуют внедрению в рабочий процесс разработчика Git (или любой другой VCS).
Миф 1: Мне не нужен Git, потому что я делаю резервные копии своих файлов
Регулярное резервное копирование вашей работы, бесспорно, хорошая привычка. Рекомендую оставить эту привычку даже когда вы будете пользоваться Git.
Но Git предоставляет вам намного больше преимуществ по сравнению с лишь только одним резервным копированием ваших файлов.
Без VCS вы столкнетесь с некоторыми проблемами.
Как вам называть ваши резервные копии? Если вы очень организованный человек, то вы могли бы пользоваться какой-нибудь понятной системой имен типа acme-inc-redesign_2013-11-12_v23.html. Однако любое отклонение от этой концепции именования быстро приведет к путанице и, вполне возможно, к проблемам с вашим кодом.
Пусть система типа Git беспокоится об этих мелочах, чтобы вы могли сфокусироваться на том, что вы делаете лучше всего — писать код.
Какую часть работы сохранять? Только измененные файлы или весь проект? В первом случае, было бы сложно видеть полную картину версии/варианта вашего пректа в любой момент времени. Во втором случае, где вы регулярно делаете резервные копии всего кода, у вас будет огромное число резервных копий по всему жесткому диску и чем больше файлов, тем будет больше сложностей.
Самая важная проблема, которую решает Git, вероятно следующая:
Как узнать в чем разница между резервными копиями? Очень немногие тратят время чтобы тщательно задокументировать каждое изменение, которое они вносят. Зато Git «подразумевает», что есть только один проект. Все остальное (старые версии и варианты) аккуратно скрыты в серверной части системы контроля версий и доступны в любой момент, когда они необходмы. И когда они будут вам нужны, вы можете запросить любую версию в любое время и у вас под рукой всегда будет копия полного проекта.
Кроме того, вы можете с большой точностью узнать какие изменения были в каждом файле. Вы можете сказать какие строки были добавлены, какие удалены, какие изменены — а это значит, что процессы баг-трейсинга, аварийных откатов к стабильной или промежуточной версии проекта становятся проще.
Миф 2: Git слишком сложный чтобы заморачиваться
Люди часто переоценивают то, насколько нужно знать Git чтобы получить от него все преимущества. Это так, если вам нужно потратить уйму времени чтобы погрузиться в нюансы Git и команды для крайне редких случаев — в действительности, Git предельно гибкая и мощная система. Но правда и то, что вы можете продуктивно работать с Git и использовать большую часть его функционала всего горсткой команд.
Да, учится чему-то новому требует немного труда — от этого никуда не денешься — но преимущества, которые вы получите начав пользоваться Git, существенно превышают время и силы чтобы в нем разобраться.
Изучение Git улучшит качество ваших проектов, а также эффективность и производительность, как разработчика. Кроме того, вы сможете совместно работать с другими разработчиками более систематичным и надежным способом, обеспечивающим еще большую производительность разработки для вас и вашей команды.
Миф 3: Git только для команд разработчиков
Распределенные системы контроля версий типа Git или Mercurial позволяют вам работать прямо на локальном компьютере. Если у вас проект в котором вы не работаете с кем-то совместно, вполне возможно выполнять все задачи прямо на вашем компьютере. Git предоставляет теже преимущества для одного разработчика, что и для команды.
Вам не нужен удаленный сервер или
Но стоит отметить, что использование удаленных хостингов кода типа GitHub имеет смысл даже если вы разработчик-одиночка, в этом случае у вас всегда будут внешние копии вашего кода в случае поломки или потери компьютера, или для безопасной синхронизации вашего проекта между несколькими компьютерами (возможно, у вас есть рабочий нотбук и личный компьютер дома, которыми вы пользуетесь для разработки). Тем не менее, это вовсе не обязательно, это просто один из плюсов.
Преимущества, которые дает Git остаются теми же и не важно, работаете вы в команде или один.
Миф 4: Командная строка это слишком сложно
Вам не нужно быть экспертом по интерфейсу командной строки (CLI) для использования Git. Фактически, большинству разработчиков понадобится совсем немного команд.
Вы можете выучить самые важные команды Git меньше чем за вечер: мы создали руководство под названием Command Line 101, которое вы можете прочитать чтобы узнать о CLI и как это связано с Git, — это часть нашей бесплатной онлайн книги "Изучи контроль версий с помощью Git: Пошаговое руководство для абсолютных новичков".
Но скажем так, горстка основых команд все еще перебор для вас, да и любые контакты с CLI. Или может быть вы скрепили кровью с товарищем соглашение никогда больше не использовать командную строку или по некоторым причинам вы просто не можете пользоватьс CLI. Вы все еще можете пользоваться Git через приложения с графическим интерфейсом (GUI). Если вы на Windows, я бы порекомендовал вам взглянуть на Tortoise Git. На Mac OS вы можете глянуть на Tower — приложение, которое разработала моя компания Fournova.
Даже тех пользователей, у которых нет проблем с командной строкой, GUI мог бы еще больше повысить производительность тем, что некторые задачи Git можно делать проще.
Миф 5: Я боюсь, что я что-нибудь сломаю
Все должно быть совсем наоборот: вы должны бояться что-то сломать, если вы не используете систему контроля версий, потому что без нее сложно отследить все ваши шаги и изменения кода.
Контроль версий — это ваша подстраховка. Когда все выходит целиком из строя, мы можем легко откатиться на предыдущую стабильную версию.
Используя Git вы сможете:
- отменить локальные изменения (частично или полностью)
- восстановить любую версию, если что-то пойдет не так
- отменить эффект любых изменений, сделанных в прошлом
И я бы хотел отметить что на мой взгляд наболее важная особенность Git: ветки.
Ветвление предоставляет нам безопасную экосистему, полностью отделенную от других частей нашего разрабатываемого проекта, для того чтобы опробовать новые функции. Это дает нам возможность экспериментировать с новым кодом, видеть и тестировать эффекты любых изменений кода, давая нам уверенность, что мы ни на что не повлияем за пределами текущей ветки.
Миф 6: Git чрезмерно разрекламирован, это просто очередной модный тренд, который потом исчезнет
Конечно, Git, действительно, не единственная существующая система контроля версий. Есть много других VCS, которые тоже можно рассматривать и у каждой есть свои достоинства.
Но ведь не случайно такие крупные проекты как например jQuery, Rail и Linux Kernel полагаются на Git для контроля версий и совместной работы над кодом.
Для проектов связанных с кодом Git, на данный момент, лучшая из того, что есть. И вот несколько причин почему Git хороший выбор.
Функционал
Конечно, функционал Git и его философия наиболее ценны из того, что предлагается пользователям: великолепная модель ветвлений, возможность автономной работы и концепция области подготовленных файлов — всего лишь часть из тех основных возможностей, помогающих разработчиками быть производительными, творческими и эффективными.
Популярность и жизнеспособность
Быть популярной и широкодоступной важно для любой системы. Популярность означает, что существуют сообщества, готвые помочь тебе начать работу с системой.
И когда вам придется работать над кодом в команде и велика вероятность, что члены вашей команды уже знают как пользоваться Git.
Кроме того, являясь популярной VCS, Git становится привлекательной для сторонних разработчиков и предоставляет средства поддержки и сервисы (напрмер GitHub), которые могли был в дальнейшем расширить возможности работы с Git.
Популярность также гарантирует, что Git, как проект с открытым исходным кодом, в ближайшее время не исчезнет — что является важным факторм для разработчиков думающих от том доверять или нет открытому проекту в долгосрочной перспективе.
Официальная страница Git (2014)
Наличие качественных образовательных материалов
Еще ничего не было проще, чем начать изучение Git. На сегодняшний день существуют тонны документации, учебников, видео и руководств по этой VCS.
Вот несколько ресурсов которые помогут вам начать работу с Git.
- Try Git (github.io)
- Git – The Simple Guide (rogerdudler.github.io)
- Git Ready (gitready.com)
- Git Cheatsheet (ndpsoftware.com)
- Learn Git (git-tower.com) – бесплатная онлайн книга от моей компании
- Git Magic (cs-students.stanford.edu)
- Git – Getting Started (git-scm.com)
Почему вы еще не пользуетесь Git?
Да, да, это я к вам: что же вас сдерживает от использования контроля версий на базе Git? Дайте знать об этом в комментариях!
Автор: almalini