Git — самая популярная система контроля версий (VCS), используемая разработчиками и командами разработчиков для отслеживания изменений, вносимых в исходный код. Фактически, это самая популярная система контроля версий, используемая и в DevOps.

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

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

Системы контроля версий можно разделить на две категории: централизованные и распределенные.

Что такое централизованная система контроля версий.

В централизованной системе все пользователи подключаются к центральному серверу, чтобы получить копию программного кода и поделиться ею с другими. Примеры централизованных систем контроля версий включают Subversion, которая распространяется по лицензии Apache, и Microsoft Team Foundation Server (Microsoft TFS).

Недостатком централизованной системы контроля версий является наличие единой точки отказа. Когда центральный сервер выходит из строя, члены команды больше не могут работать над проектом вместе.

Что такое распределенная система контроля версий.

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

Вы можете отслеживать изменения, внесенные в код, и легко сотрудничать над проектом с другими членами команды.

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

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

В этой статье познакомимся с основами Git и рассмотрим, как эффективно управлять своим кодом.

Введение в Git и GitHub

Мы не можем говорить о Git, не упомянув GitHub. Эти два понятия переплетены и часто идут рука об руку. На самом деле многие люди думают, что Git и GitHub — это одно и то же. Однако это две отдельные вещи, которые интегрируются друг с другом.

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

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

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

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

С другой стороны, Git — это то, что обрабатывает операции контроля версий, такие как передача и объединение кода, выполнение коммитов, клонирование репозиториев и т. д. Теперь давайте рассмотрим работу с Git, которые вы можете использовать для работы с GitHub.

Установка Git в Linux.

Прежде чем вы начнете использовать Git, давайте сначала установим его. Если вы используете дистрибутив на основе Ubuntu или Debian, выполните следующие команды, чтобы установить его.

Для дистрибутивов на основе Red Hat, таких как RHEL, Fedora, CentOS Stream, AlmaLinux и Rocky Linux, выполните следующие команды dnf:

Чтобы убедиться, что Git установлен, выполните команду:

$ git --version
git version 1.8.3.1

Инициализация репозитория Git.

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

Чтобы продемонстрировать это, мы создадим каталог с именем test_repo и перейдем в него.

Для инициализации репозитория выполните следующую команду:

Фиксация изменений в Git.

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

Отслеживание проекта происходит только после первого внесения изменений. Продемонстрируем это немного позже.

Настройка репозитория Git.

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

Чтобы добавить имя пользователя и адрес электронной почты ко всем коммитам текущего пользователя, выполните следующие команды. Обязательно укажите желаемое имя и адрес электронной почты.

Для подтверждения установки переменных выполните команду:

Добавить файл в репозиторий Git.

Чтобы внести изменения в репозиторий git, необходимо сначала выполните команду git add, а затем git commit. Команда git add добавляет файлы в промежуточную область. По сути, это особая область, где мы предлагаем изменения для следующего коммита.

Создадим файл Python с именем test.py. Чтобы добавить этот файл в промежуточную область, мы выполним следующую команду.

Если у вас есть несколько файлов проекта, вы можете добавить их все сразу:

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

Следующий вывод показывает, что мы успешно зафиксировали изменения в репозитории Git.

Чтобы проверить статус коммитов, выполните команду:

Если ожидающих коммитов нет, вы получите уведомление о том, что коммитить нечего.

Теперь давайте создадим еще два файла и проверим статус коммитов.

Затем проверим состояние промежуточной области.

На этот раз вновь добавленные файлы будут отображены и помечены, как «неотслеживаемые». Чтобы Git мог их отслеживать, вам необходимо добавить их в промежуточную область.

Чтобы добавить все файлы сразу, выполните команду:

Далее зафиксируем внесенные изменения.

Теперь давайте попробуем изменить один файл.

И снова файл отображается при проверки статуса, поскольку внесенные изменения не были зафиксированы.

И снова нам надо добавить измененный файл в промежуточную область.

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

Удалить файл из репозитория Git

Предположим, мы понимаем, что файл file2.txt нам больше не нужен в нашем проекте, поскольку в нем есть неиспользуемый код. Вы можете удалить его с помощью команды rm, следующим образом:

Проверив статус, вы увидите, что удаленный файл все еще присутствует в выводе и что изменение еще не зафиксировано.

Мы удалили файл file2.txt из нашего рабочего каталога. Однако он все еще существует в git. Чтобы убедиться в этом, выполните команду:

Чтобы выполнить удаление, запустите команду git add:

Еще раз посмотрим файлы в промежуточной области.

На этот раз вы видите, что file2.txt больше не существует в промежуточной области. Проверив статус, вы увидите, что изменение готово к фиксации.

Итак, теперь давайте подтвердим внесенные изменения.

Перенос локального репозитория на GitHub

Теперь, когда локальный репозиторий готов, вы можете отправить свой проект на GitHub для совместной работы и предоставления другим пользователям доступа к вашему проекту.

Но обо всем по порядку. Вам необходимо создать учетную запись GitHub, если у вас ее еще нет.

Далее вам нужно создать новый пустой репозиторий. Это репозиторий, в который вы поместите свой локальный репозиторий. Итак, заходим на сайт GitHub и нажимаем кнопку «Sign up».

И создаем новый репозиторий, нажав «New»:

Введите имя репозитория и установите для него значение «Public». Вы можете либо инициализировать файл README, либо нет. Это файл, в котором кратко описывается суть вашего кода. На данный момент это не имеет большого значения.

Затем нажмите кнопку «Create repository», чтобы создать репозиторий с предоставленными данными. В этом примере мы создали репозиторий под названием «test-project».

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

Следующим шагом — включим аутентификацию на GitHub с использованием ключей SSH.

Для этого нажмите на значок своего профиля в правом углу и выберите «Settings».

Затем перейдите к ключам «SSH and GPG key», затем нажмите «new SSH key».

Затем скопируйте открытый ключ SSH и дайте ему осмысленное название. Затем нажмите «Add SSH-keys».

Теперь все готово для отправки вашего репозитория на GitHub. Добавьте удаленный репозиторий GitHub, используя синтаксис команды git remote add.

В приведенном выше синтаксисе «remote» обозначает версию удаленного репозитория, а «origin» — это имя, присвоенное удаленному серверу.

В моем случае команда будет выглядеть так:

После этого запустите команду git push, чтобы отправить локальный репозиторий на GitHub. Здесь master — это имя ветки по умолчанию.

Когда вы посетите свой репозиторий на Github, вы увидите все файлы вашего проекта.

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

Обновление локального репозитория с изменениями, внесенными на GitHub.

Команда git pull используется для обновления локального репозитория за счет изменений в удаленном репозитории. По сути, он загружает изменения, внесенные в код, на GitHub и соответствующим образом обновляет локальный репозиторий в вашей системе. Он сочетает в себе команды git fetch и git merge.

Я добавил файл README в удаленном репозитории, размещенном на GitHub.

После этого, я синхронизировал удаленный и локальный репозиторий, скачав данные следующей командой:

Клонирование репозитория Git.

Команда git clone загружает точную копию файлов проекта в репозиторий GitHub. Вы можете клонировать общедоступный репозиторий в любой системе или каталоге, используя следующую команду:

На странице проекта GitHub нажмите «Код» и скопируйте URL-адрес, как показано ниже.

Затем клонируйте репозиторий Github, следующей командой:

После выполнение будет загружен весь репозиторий вместе с файлами проекта.

Заключение.

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

Добавить комментарий