Git – стандарт контроля версий для кода и конфигов. Локальная история, ветки, remote на GitHub/GitLab/self-hosted: без этого трудно откатываться и работать в команде. Ниже – установка на Linux, минимальный git config и цикл init → add → commit → push/pull.
Установка
Debian / Ubuntu
sudo apt update sudo apt install git
Fedora
sudo dnf install git
Arch Linux
sudo pacman -S git
Проверка:
git --version
Должна появиться строка с номером версии. Если команда не найдена – пакет не в PATH или установка не прошла.
Имя и email
Эти поля попадают в каждый коммит. Задайте глобально один раз:
git config --global user.name "Your Name" git config --global user.email "you@example.com"
Для конкретного репозитория уберите --global и выполните команды внутри каталога проекта. Полезны ещё init.defaultBranch main и выбор редактора, но для старта хватает имени и почты.
Локальный репозиторий: init
В каталоге проекта:
cd /path/to/project git init
Появится скрытый каталог .git с объектами и историей. Альтернатива – git clone <url>, если remote уже существует.
Индекс: git add
Подготовить к коммиту конкретный файл:
git add path/to/file
Или все изменения в текущем дереве (осторожно с секретами и мусором):
git add .
Смотреть статус: git status. Diff до индекса: git diff, уже staged: git diff --staged.
Коммит: git commit
git commit -m "Add initial project layout"
Сообщение лучше писать по делу: что изменилось и зачем, а не голые fix / update. История читается месяцами позже.
Remote: push и pull
Привязать удалённый репозиторий (URL SSH или HTTPS):
git remote add origin git@github.com:user/repo.git
Первый push текущей ветки (часто main; на старых remote может быть master):
git branch -M main git push -u origin main
-u запоминает upstream: дальше достаточно git push / git pull.
Забрать изменения с remote:
git pull origin main # или после настройки upstream: git pull
При конфликтах Git пометит файлы; их правят вручную, затем снова add и commit (или продолжают merge/rebase по сценарию).
Минимальный чеклист
- установить
gitиз пакетов дистрибутива; user.nameиuser.email;git initилиgit clone;- цикл
status→add→commit; remote+push/pull, .gitignore для мусора и секретов.
Итог: на Linux Git ставится одной командой пакетного менеджера. Дальше важны осмысленные коммиты, аккуратный remote и привычка смотреть status/diff до push. Откат и разбор истории – уже следующий слой (log, checkout, restore, ветки).
