Использование Git в Linux

Добро пожаловать в это руководство для начинающих по использованию Git в Linux! Это руководство призвано помочь вам начать работу с Git и GitLab, а также дать базовое понимание того, как использовать эти инструменты.

Обзор Git

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

Что такое репозиторий?

repo, сокращение от репозитория, представляет собой локальную папку, управляемую Git, с онлайн-копией. Репозиторий Git Lab — это набор файлов и папок, составляющих проект. Он может иметь ветви, являющиеся независимыми копиями одного и того же проекта. Ветка — это отдельная версия вашего проекта, позволяющая вносить изменения, не затрагивая основную версию. Это полезно для тестирования новых функций или исправления ошибок без нарушения основного проекта. Существует локальный репозиторий, хранящийся на вашем жестком диске, и удаленный репозиторий, хранящийся в Интернете с помощью Git и GitLab.

Использование Git

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

 sudo apt install git

Доступ к GitLab

Прежде чем вы сможете использовать GitLab, вам необходимо создать учетную запись, посетив веб-сайт GitLab и выполнив процесс регистрации.

GitLab требует SSH для безопасной и аутентифицированной связи между клиентом (например, вами) и сервером GitLab при выполнении операций Git, таких как клонирование, pushing и fetching репозиториев. Клонирование — это создание локальной копии репозитория, выборка — перенос любых изменений, внесенных в репо, в вашу локальную копию, а нажатие — отправка изменений и контента в репозиторий сервера. SSH (Secure Shell) — это сетевой протокол, который обеспечивает безопасный удаленный доступ и использует пары ключей для аутентификации и установления безопасных соединений. Чтобы сгенерировать пару ключей SSH, вы можете использовать команду ssh-keygen в своем терминале.

 ssh-keygen

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

Войдите в свою учетную запись GitLab и перейдите к настройкам пользователя. Нажмите «Ключи SSH» в меню навигации слева. Скопируйте и вставьте свой открытый ключ в поле «Ключ» и присвойте ему соответствующее название, например PC@Home. Нажмите кнопку «Добавить ключ», чтобы сохранить ключ. Ваш открытый ключ SSH теперь добавлен в вашу учетную запись GitLab, и вы можете использовать его для аутентификации в репозиториях GitLab. Проверьте, работают ли ваши ключи и соединение, с помощью команды ssh -T, чтобы увидеть приветственное сообщение от GitLab.

 $ ssh -T git@ssh.gitlab.gnome.org
 Welcome to GitLab, @username!

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

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

Клонирование — это процесс создания локальной копии удаленного репозитория. Это полезно, если вы хотите работать над проектом, который уже существует на GitLab. Чтобы клонировать репозиторий, используйте команду git clone, за которой следует URL-адрес репозитория:

git clone https://gitlab.com/username/repository.git

Замените https://gitlab.com/username/repository.git URL-адресом репозитория, который вы хотите клонировать. Эта команда создаст локальную копию репозитория в новом каталоге.

2. Проверка статуса репозитория

Чтобы узнать, есть ли в вашем локальном репозитории какие-либо изменения, или просмотреть его текущее состояние, используйте:

git status

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

3. Удаленные репозитории

Удаленные репозитории — это версии вашего проекта, размещенные в Интернете, например, на GitLab. Они служат центральным местом хранения вашего кода, к которому могут получить доступ другие. Удаленный репозиторий по умолчанию, который Git создает при клонировании проекта, называется origin. Вы можете добавлять, удалять или перечислять удаленные репозитории, используя следующие команды:

  • Перечень пультов:

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

    git remote -v

    Эта команда выводит список всех пультов и их URL-адресов. Обычно здесь вы увидите origin.

  • Добавление пульта:

    Если вам нужно добавить новый удаленный репозиторий, вы можете сделать это с помощью:

    git remote add <name> <url>

    Замените <name> именем пульта и <url> URL-адресом репозитория.

  • Удаление пульта:

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

    git remote remove <name>

    Замените <name> на имя пульта, который вы хотите удалить.

4. Извлечение изменений из удаленного репозитория

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

git fetch origin

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

5. Сброс локального репозитория

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

git reset --hard origin/branch-name

Замените branch-name на имя ветки, которую вы хотите сбросить. Эта команда отменит любые локальные изменения и сделает ваш локальный репозиторий идентичным удаленному репозиторию.

6. Просмотр истории коммитов

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

git log

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

Резюме

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