Skip to main content

Справочник базовых команд Git (Cheat Sheet)

Описание страницы: Карманный справочник по основным командам Git, сгруппированный по этапам работы системного администратора.

📁 1. Инициализация и клонирование репозиториев

# Клонирование удаленного репозитория в текущую папку
git clone gitea-lab:admold/infra.git

# Клонирование репозитория в конкретную папку с указанием пути
git clone gitea-lab:admold/infra.git ~/projects/ansible

# Быстрое клонирование без истории коммитов (полезно для CI/CD-пайплайнов)
git clone --depth 1 gitea-lab:admold/infra.git

# Инициализация нового пустого Git-репозитория в текущей локальной папке
git init

🔍 2. Просмотр текущего состояния и истории изменений

# Просмотр статуса рабочей копии (измененные, удаленные, неотслеживаемые файлы)
git status

# Просмотр статуса в кратком компактном виде
git status -s

# Сравнение изменений в файлах, которые еще не добавлены в индекс (staged)
git diff

# Сравнение изменений в конкретном файле
git diff playbooks/site.yml

# Просмотр истории изменений (коммитов)
git log

# Краткий просмотр последних 5 коммитов (в одну строку каждый)
git log -5 --oneline

✏️ 3. Фиксация и отправка изменений (Commit & Push)

# Добавление конкретного файла в индекс для последующего коммита
git add playbooks/site.yml

# Добавление всех изменений в отслеживаемых файлах (без добавления новых неотслеживаемых)
git add -u

# Фиксация изменений с кратким комментарием
git commit -m "fix: update configurations for backup paths"

# Отправка локальных изменений на удаленный сервер в ветку main
git push origin main

🌿 4. Ветки (Branches) и слияния

# Просмотр списка всех локальных веток
git branch

# Создание новой ветки и автоматический переход на неё
git switch -c feature/monitoring

# Переключение на существующую ветку
git switch main

# Слияние изменений из ветки feature/monitoring в текущую активную ветку
git merge feature/monitoring

# Удаление локальной ветки после завершения работ
git branch -d feature/monitoring

🔄 5. Отмена изменений и откат состояний

# Сброс изменений в файле до состояния последнего коммита
git restore playbooks/site.yml

# Сброс файла из подготовленной зоны (staged) обратно в измененные
git restore --staged playbooks/site.yml

# Откат последнего коммита с сохранением изменений в файлах
git reset --soft HEAD~1

# Полный откат последнего коммита с УДАЛЕНИЕМ всех изменений в файлах (опасно!)
git reset --hard HEAD~1

# Безопасная отмена уже отправленного на сервер коммита (создает новый коммит-отмену)
git revert a1b2c3d --no-edit

📦 6. Временное сохранение изменений (Stash)

# Спрятать все незакоммиченные изменения в специальный карман (чтобы очистить рабочую копию)
git stash

# Вернуть сохраненные изменения обратно в рабочую копию и удалить запись из кармана
git stash pop