Теоретическое введение в git
Термины
Для понимания работы с git разберемся с терминами git.
Git или Гит — система контроля и управления версиями файлов.
Гитлаб (GitLab) — веб-сервис для размещения репозиториев и совместной разработки проектов.
Репозиторий Git — каталог файловой системы, в котором находятся: файлы конфигурации, файлы журналов операций, выполняемых над репозиторием, индекс расположения файлов и хранилище, содержащее сами контролируемые файлы.
В графическом представлении репозиторий будет выглядеть как на рисунке 1. Круги "A", "B", "C" представляют собой коммиты. В каждом коммите мы изменяем репозиторий. В первой коммите "A" (коммит инициализации или initial commi) был создан файл readme.md. В коммите "B" и "C" были добавлены еще файлы. Репозиторий git представляет собой систему контроля версий, хранящую данные об изменениях (коммиты) в репозитории.

Локальный репозиторий — репозиторий, расположенный на локальном компьютере разработчика в каталоге. Именно в нём происходит разработка и фиксация изменений, которые отправляются на удалённый репозиторий.
Удалённый репозиторий — репозиторий, находящийся на удалённом сервере. Это общий репозиторий, в который приходят все изменения и из которого забираются все обновления.
Рассмотрим подробнее работу локального и удаленного репозитория. Локальные репозиторий находится на компьютере разработчика, к нему может иметь доступ только 1 человек. Удаленный репозиторий находится на сервере, к нему через интернет могут получить доступ множество компьютеров. Локальные и удаленный репозиторий синхронизируются благодаря пуллам и пушам.

Клонирование (Clone) — создание репозитория с удалённого сервера на локальный компьютер.

Форк (Fork) — удаленный репозиторий, являющийся копией другого удаленного репозитория. При создании форка копируются все данные родительского репозитория, но права не наследуются, а остаются стандартными, как для обычного форка. В дальнейшем все файлы сохраняются в форке (удаленном репозитории) и локальных репозиториях. При работе с практическими заданиями через GitLab вы будете использовать систему форков.

Ветка (Branch) — это параллельная версия репозитория. Она включена в этот репозиторий, но не влияет на главную версию, тем самым позволяя свободно работать в параллельной. Когда вы внесли нужные изменения, то вы можете объединить их с главной версией.

Коммит (Commit) — фиксация изменений в репозитории. Сам репозиторий представляет собой историю коммитов (подтвержденных изменений).

Пуш (Push) — отправка всех неотправленных коммитов на удалённый сервер репозитория.

Пулл (Pull) — получение последних изменений с удалённого сервера репозитория.

Основные команды в git
В IDE (среде разработки) данные команды могут быть реализованы в виде UI (пользовательского интерфейса). Тем не менее, они все еще подчиняются правилам git и буквально реализовывают функционал git через UI. В большинстве IDE присутствует терминал, в котором можно работать с git в текстовом представлении (команды), однако некоторый функционал (git clone) будет в любом случае реализован через UI.
Работа с командами git в IDE без терминала подразумевает выполнение команд через UI. Принципы взаимодействия совпадают.
Настройка git
Настройка состоит в задании пользователя гит. Именно данный пользователь будет выводиться при ваших коммитах.
git config --global user.name “Имя Фамилия”
git config --global user.email ВашаПочта@edu.mirea.ru
Чтобы задать пользователя только для заданного репозитория, а не глобально, при использовании команды уберите флаг --global.
Чтобы просмотреть данные пользователя пропишите данные команды:
git config user.name
git config user.email
git clone
Клонирование репозитория в новый каталог (на локальное устройство). Копирует удаленный репозиторий и создает из данной копии локальный репозиторий.
git clone
Для выполнения команды необходимо указать URL - ссылку на репозиторий. Например:
git clone https://git-mirea.ru/IRI/courses/android-dev/1.git
git status
Показывает список изменений в локальном репозитории после последнего коммита.
git status
git add
Добавляет изменения локального репозитория в индекс для последующего коммита.
В основном при работе с add используют параметр --all - добавление всех файлов.
git add --all
git commit
Запись изменений в репозиторий
Чтобы сделать самый простой коммит необходимо указать для него сообщение при помощи параметра -m (message).
git commit -m "Сообщение коммита"
git push
Отправление изменений (коммитов) на удаленный репозиторий.
Указывается 2 параметра: удаленный репозиторий (origin) и ветка локального репозитория (в данном случае main).
git push origin main
git pull
Обновление локального репозитория данными (коммитами) из удаленного репозитория.
На самом простом уровне используется только команда без дополнительных параметров.
git pull
Вы разобрали команды в git, необходимые для взаимодействия с git на базовом уровне, работы со своим личными репозиториями (самостоятельной работы).