Главная / Блог / Основные команды Git: шпаргалка с примерами для начинающих

Основные команды Git: шпаргалка с примерами для начинающих

История коммитов Git

Кратко: Git – система контроля версий для отслеживания правок, отката к стабильным сборкам и совместной работы. Для старта достаточно 6 базовых команд: создание или скачивание проекта – git init / clone; индексация и фиксация изменений – git status, git add . и git commit -m; синхронизация с сервером – git push и git pull. Задачи всегда выполняются в изолированных ветках (git switch -c feature), временные правки скрывают в git stash, а пароли и кэш вносят в файл .gitignore.

Содержание

Что такое Git и зачем он нужен разработчику

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

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

Критерий сравненияРучные архивы (ZIP / папки)Использование Git и репозиториев
Безопасность кодаВысокий риск случайной перезаписи актуальных файловКаждое изменение зафиксировано в истории, откат занимает пару секунд
Совместная работаНевозможность одновременной правки без конфликтовПараллельная разработка в независимых ветках с последующим слиянием
Контроль версийХаос в названиях (final_v1, final_v2_edit)Понятная история коммитов с авторами, датой и описанием задач

Ключевые преимущества Git:

  • Прозрачность: каждый коммит содержит информацию об авторе, времени и причине внесенных изменений.
  • Изолированность: можно создавать отдельные ветки под новые функции, не рискуя сломать рабочий продакшн-код.
  • Надежность: удаленный репозиторий (GitHub, GitLab, Bitbucket) дублирует данные и защищает проект от локальных сбоев на компьютере.

Установка и базовая настройка за 5 минут

Прежде чем приступать к коду, установите систему контроля версий:

  • Windows: скачайте актуальный инсталлятор с официального сайта git-scm.com и выполните стандартную установку (рекомендуется оставить Git Bash по умолчанию).
  • macOS: установите через терминал с помощью Homebrew:

brew install git

  • Linux (Ubuntu / Debian): выполните команду через пакетный менеджер:

sudo apt update && sudo apt install git

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

git config --global user.name "Ivan Ivanov"

git config --global user.email "ivan@example.com"

Проверить внесенные параметры можно командой:

git config --list

Настройка Git в терминале

Основные команды Git: шпаргалка для ежедневной работы

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

  • git init – создает в текущем каталоге скрытую системную папку .git, превращая его в локальный репозиторий.
  • git clone <URL> – загружает удаленный репозиторий со всей историей коммитов на ваш компьютер.

Пример клонирования проекта:

git clone https://github.com/username/project.git

2. Локальная фиксация изменений

  • git status – отображает текущее состояние файлов: неотслеживаемые, измененные или подготовленные к коммиту.
  • git add <файл> – добавляет указанный файл в область подготовки (stage/индекс). Чтобы добавить все изменения разом:

git add .

  • git commit -m "описание" – сохраняет снимок проиндексированных изменений с поясняющим комментарием:

git commit -m "Add authorization form validation"

Активация за 15 минут

VPS на Linux — для практики с Git и реальных проектов

Свой сервер под git push, деплой и тесты. Виртуализация KVM без oversell, root-доступ и выбор любого дистрибутива из панели.

  • Ubuntu, Debian, CentOS, Alma, FreeBSD
  • SSH из коробки и полный root-доступ
  • Тестовый период и перенос с другого хостинга
  • Аптайм 99,98% и гарантированная скорость 100 Мбит/с
Стоимость тарифов: от 391 ₽ / мес
Арендовать VPS Linux

3. Управление ветками

В современных версиях Git для создания и переключения веток используется понятная команда git switch (хотя старая git checkout также поддерживается).

  • git branch – выводит список локальных веток и выделяет текущую.
  • git branch <имя> – создает новую ветку от текущей точки.
  • git switch <имя_ветки> – переключает рабочее окружение на указанную ветку (аналог git checkout <имя_ветки>).
  • git switch -c <новое_имя> – создает ветку и сразу переключается на нее (аналог git checkout -b <новое_имя>).
  • git merge <имя_ветки> – вливает изменения из указанной ветки в текущую активную.

4. Синхронизация с удаленным сервером

  • git push origin <ветка> – отправляет локальные коммиты на удаленный сервер.
  • git pull – скачивает актуальные изменения с сервера и автоматически выполняет их слияние с локальной веткой.
  • git fetch – скачивает данные с удаленного сервера без слияния, позволяя безопасно изучить обновления команды.
КомандаНазначениеПример использования
git initИнициализация локального репозиторияgit init
git statusПроверка статуса измененных файловgit status
git addДобавление файлов в индексgit add index.html
git commitФиксация изменений в историиgit commit -m "fix typo in header"
git switch -cСоздание и переход в новую веткуgit switch -c feature-header
git pushОтправка локальных коммитов на серверgit push origin main

Продвинутые команды для решения рабочих проблем

  • git stash – временно убирает незакоммиченные правки в стек (хранилище), возвращая директорию к чистому состоянию. Чтобы вернуть код обратно: git stash pop.
  • git revert <commit_hash> – создает новый коммит, отменяющий действие старого. Это самый безопасный способ отката правок в общих ветках.
  • git reset --soft HEAD~1 – отменяет последний коммит, оставляя все изменения в файлах и в индексе (удобно, если забыли добавить файл или опечатались в комментарии).

Что делать, если случайно написали код в ветке main

Если вы забыли создать отдельную ветку под задачу и закоммитили изменения прямо в main, исправить ситуацию можно без потерь:

  1. Создайте новую изолированную ветку от текущего состояния и перейдите в нее:

git switch -c feature-task

  1. Все коммиты перейдут в новую ветку.
  2. Вернитесь обратно в main:

git switch main

  1. Сбросьте ветку main до исходного состояния удаленного сервера (все наработки останутся сохранены в ветке feature-task):

git reset --hard origin/main

  1. Вернитесь в feature-task и продолжайте работу:

git switch feature-task

Схема ветвления в Git

3 главные ошибки начинающих разработчиков

  1. Коммиты напрямую в ветку main.
    Последствие: сырой непротестированный код смешивается со стабильной версией.
    Решение: перед началом любой задачи всегда создавайте отдельную ветку: git switch -c feature/name.
  2. Паника при конфликтах слияния (Merge Conflict).
    Последствие: конфликт возникает, когда два человека изменили одни и те же строки. Новички нередко удаляют проект или закрывают терминал.
    Решение: откройте конфликтующий файл в редакторе (VS Code или JetBrains подсвечивают конфликты автоматически), выберите нужную версию между маркерами <<<<<<<, ======= и >>>>>>>, сохраните файл, выполните git add . и завершите слияние командой git commit.
  3. Публикация паролей, API-ключей и .env-файлов в публичный репозиторий.
    Последствие: утечка учетных записей и ключей доступа к продакшн-серверам.
    Решение: с первого дня создавайте файл .gitignore и заносите туда конфиденциальные данные, временные кэши и системные папки (например, .env, node_modules/, vendor/). Если секреты уже попали в историю репозитория, воспользуйтесь специализированной утилитой git-filter-repo или BFG Repo-Cleaner, после чего немедленно скомпрометированные ключи перевыпустите.

Ответы на частые вопросы

Сколько команд Git нужно знать новичку для старта?

Для повседневной работы достаточно 6 базовых инструкций: status, add, commit, switch, push и pull.

Что делать, если случайно закоммитил не тот файл?

Используйте мягкий сброс: git reset --soft HEAD~1. Коммит отменится, изменения останутся в файлах, а вы сможете убрать лишний файл из индекса (git restore --staged <файл>) и закоммитить только нужное.

Как обновить локальный репозиторий, если коллеги внесли изменения на сервере?

Выполните git pull. Git скачает свежие коммиты и попытается автоматически объединить их с вашей текущей веткой.

В чем разница между git pull и git fetch?

git fetch только загружает метаданные и коммиты с сервера, не меняя локальные файлы. git pull выполняет два действия сразу: сначала делает fetch, а затем автоматически вызывает git merge.

Как скрыть от Git системные файлы, кэш и пароли?

Создайте в корне проекта файл с точным именем .gitignore и укажите в нем имена файлов, расширений или каталогов построчно (например, .env, *.log, node_modules/).

loader
Продолжая пользоваться нашим веб-сайтом, Вы соглашаетесь с тем, что дата-центр Contell использует файлы "cookie" в целях хранения ваших учетных данных, параметров и предпочтений, оптимизации работы веб-сайта.