Git — это в основном программное обеспечение для контроля версий.

Хотя может быть удобно попытаться представить его как своего рода Dropbox для программистов, на самом деле это не совсем так.

Git был разработан в 2005 году тем же человеком, который принес миру операционную систему Linux, Линусом Торвальдсом. Для работы ему не нужен Интернет, он может отслеживать изменения, не требуя нескольких имен файлов, и имеет открытый исходный код, что означает, что его можно использовать полностью и навсегда.

Вместо Dropbox вам лучше думать о нем как о более сложной версии вашего самодельного способа работы с разными версиями одного и того же файла:

  • презентация.pptx
  • презентация_v2.pptx
  • презентация_caa_021117.pptx
  • презентация_v3_final.pptx
  • презентация_v3_final_FINAL.pptx

Да, я уверен, вы понимаете, о чем я сейчас говорю.

Когда мы работаем с кодом как программисты, мы обычно работаем с несколькими файлами одновременно. Все эти файлы обычно содержатся в одном каталоге (папке), обычно называемом репозиторием проекта.

Что происходит, когда у вас есть, скажем, 3 программиста, одновременно работающие с разными файлами в одном репозитории?

Что делает гит?

Git был разработан, чтобы помочь программистам справиться с этой проблемой. Вот список вещей, которые он может сделать:

  • Ведите журнал всех изменений (известных как коммиты), когда-либо внесенных в каждый отдельный файл в репозитории.
  • Пересмотрите или вернитесь к старой фиксации (в случае, если вы приняли неверное решение и написали код, который сломал части вашего приложения).
  • Создайте новую ветвь на базе существующей в качестве безопасного места для внесения изменений в код, не затрагивая родительскую ветку (полезно, когда несколько программистов работают вместе).
  • Следите за различными версиями вашего проекта без необходимости дублировать каталог проекта несколько раз (проще, чем xxx_final_FINAL.pptx)

Если вы хотите, чтобы git начал работать для определенного проекта, вам нужно init каталог. С этого момента каталог становится репозиторием git. Ниже приведена единственная команда, которую вам нужно запустить в Терминале, чтобы указать git начать отслеживать изменения в определенном каталоге.

# change directory to the one you want to be tracked by git
cd my_project_directory

# init the directory as a git repository
git init

Я не буду вдаваться в подробности того, как начать работу с git в этом посте. Давайте продолжим сначала задавать концептуальные вопросы!

Кто использует гит?

Git используется:

  • Индивидуальный программист
  • Команда программистов
  • Технологические компании со многими командами

Я думаю, не будет преувеличением сказать, что практически каждая технологическая компания в мире использует git. А поскольку git — это программное обеспечение с открытым исходным кодом, его можно бесплатно установить на любой компьютер в любой точке мира. Git позволяет программистам работать вместе удаленно без особых проблем, в значительной степени благодаря git (самой большой частью, конечно, является Интернет).

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

Действительно ли git полезен?

Абсолютно без малейшего сомнения, да. Git чрезвычайно полезен!

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

Кроме того, всякий раз, когда я вносил какие-либо изменения, которые ломали мое приложение (т. е. приводили его к сбою и выводили из строя), я обращался к старым коммитам и иногда даже возвращался к этому старому коду. Для этого есть команда, среди множества других команд, которые делают почти все, что, по вашему мнению, может быть полезно.

Я также использую git на своем рабочем месте в Altitude Labs. В командной обстановке это может быть очень полезно для:

  • Разделение версий базы кода, которые: (1) готовы к развертыванию в производстве (т. е. работающие и ориентированные на пользователя), (2) готовы к тестированию на промежуточном сервере, (3) для использования разработчиками для добавления свежих код для новых функций, исправления ошибок и т. д.
  • Управление и разрешение конфликтующих изменений, сделанных двумя разными программистами, работающими над одним и тем же файлом
  • Отслеживание того, кто из членов команды внес какие изменения и когда
  • Выкладывание кода на проверку другим товарищам по команде (правда, мы делаем это не с помощью одного git, а с помощью такого сервиса, как GitHub)

Надеюсь, это дало вам хорошее представление о том, что такое git и насколько он полезен программисту в его повседневной работе. Оставайтесь с нами для будущих сообщений о том, как начать использовать его для вашего следующего проекта!

Полезные ссылки:

Программирование небольшого размера — это сегмент, в котором я обсуждаю программирование по одной небольшой теме за раз на простом английском языке. Моя цель — поделиться советами, уроками и идеями, полученными в результате моей работы инженером-программистом, и тем самым сделать программирование доступным и увлекательным для всех, кто интересуется программированием. Присоединяйтесь к списку рассылки, чтобы получать последние сообщения в свой почтовый ящик, чтобы вы могли читать на ходу.

Первоначально опубликовано на сайте Nick Ang.