Git 101: основные понятия, которые должен знать каждый ИТ-специалист Microsoft

Опубликовано: 15 Марта, 2023
Git 101: основные понятия, которые должен знать каждый ИТ-специалист Microsoft

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

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

Все больше и больше ИТ-специалистов движутся к неизведанным водам, таким как инфраструктура как код (IaaC), сценарии, автоматизация и так далее. Обычно ИТ-специалисты, такие как скромный автор этой статьи, используют Visual Studio для развертывания инфраструктуры Azure, использования контроля версий в сценариях и многих других сценариев.

Вдобавок ко всему, Microsoft недавно приобрела GitHub, решение «программное обеспечение как услуга» (SaaS), которое интегрируется с Git для синхронизации и обеспечения согласованности, а также позволяет командной работе сотрудничать и разрабатывать код быстрее, чем когда-либо прежде.

Кстати, что такое Git? Git — это легкий инструмент контроля версий, созданный для поддержки обслуживания ядра Linux. Среди огромного количества участников программное обеспечение было создано Линусом Торвальдсом (да, парнем, который создал Linux), и с момента его создания (2005 г.) оно использовалось в проектах разработки всех форм и размеров.

Вы можете сказать: «Я ИТ-специалист! Для меня здесь ничего нет, верно? Что ж, использование возможностей Git помогает практически любому профессионалу, которому необходимо внедрить контроль версий и который хочет быть организованным. Это не только для разработчиков — вы даже можете использовать для файлов документации. Короткий ответ: есть много вещей, которыми вы можете воспользоваться, используя Git, и это не помешает понять довольно крутую технологию, не так ли?

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

Основы

Во-первых, и самое главное, у Git есть локальный репозиторий/база данных для отслеживания изменений, и это делается для каждого каталога. Каждый раз, когда мы инициализируем Git в любой заданной папке, будет создаваться структура папок для поддержки управления версиями этой папки и подпапок (мы можем видеть структуру на изображении ниже). Все в Git использует хэш SHA-1 длиной 40 символов, а хэш основан на содержимом файла, и мы будем видеть эти хэши повсюду.

Второй важный момент — понять состояние любого данного файла: они могут быть в трех разных состояниях:

  • : данные были сохранены в локальной базе данных — Git позаботился об этом, не беспокойтесь об этом.
  • : файл был изменен, но его нет в локальной базе данных или в промежуточном состоянии. Это означает, что в файле есть изменения, и мы должны принять меры, если хотим сохранить их в системе контроля версий.
  • : это файлы, которые вы определили как измененный файл как часть вашего следующего обязательства. Если файл находится в промежуточном состоянии, моментальный снимок уже существует, просто ожидая процесса фиксации.

Важно понимать, что информация, сохраненная в локальных базах данных, представляет собой снимки файлов. Если между коммитами файл не изменялся, то файл не копируется заново — будет использоваться только ссылка на неизмененный файл. Вся согласованность для проверки того, был ли файл изменен или нет, основана на контрольных суммах, которые он выполняет.

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

Третьим важным элементом во вселенной Git является функция ветвления. Используя ветвь, мы можем сохранить основное направление разработки и позволить нескольким линиям разработки отклоняться от этой основной линии, и это можно использовать для тестирования / проверки новых функций, исправления проблем и т. д.

Ветка — это просто другой указатель, и мы можем переключаться между ветвями по своему усмотрению. Это повлияет на содержимое и файлы нашей папки, которые контролируются Git. По умолчанию любой новый репозиторий Git будет иметь главную ветку, в которой происходят все основные изменения, но мы можем создавать разные ветки для разных областей разработки и позже объединять их обратно в основную.

В Git есть специальный указатель head, который помогает нам понять, где находится текущая ветка.

Как мы работаем с Git?

Это несколько идей о ключевых принципах Git, но я понимаю, что вы еще не прикоснулись к командной строке, чтобы протестировать ее. Прежде чем идти туда, нам нужно понять процесс, который обычный пользователь будет использовать локально.

  1. Вы работали с файлами, и в них были внесены изменения.
  2. Вы создаете файлы вручную, используя командную строку Git.
  3. Вы фиксируете подготовленные файлы в локальной базе данных.

Это основные шаги для работы с Git, и понимание этих концепций облегчает переход к более продвинутому использованию и созданию различных веток, их последующему слиянию, интеграции с GitHub и т. д.

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