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 и насколько он полезен программисту в его повседневной работе. Оставайтесь с нами для будущих сообщений о том, как начать использовать его для вашего следующего проекта!
Полезные ссылки:
- Статья на Википедии
- Другие мои посты о конкретных командах git и примерах использования (удаление коммитов, тайник, замена всей ветки)
Программирование небольшого размера — это сегмент, в котором я обсуждаю программирование по одной небольшой теме за раз на простом английском языке. Моя цель — поделиться советами, уроками и идеями, полученными в результате моей работы инженером-программистом, и тем самым сделать программирование доступным и увлекательным для всех, кто интересуется программированием. Присоединяйтесь к списку рассылки, чтобы получать последние сообщения в свой почтовый ящик, чтобы вы могли читать на ходу.
Первоначально опубликовано на сайте Nick Ang.