Перейти к содержанию
Innovialabs

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

Практика4 мин

Коротко

Для ежедневной работы достаточно около двух десятков команд Git: clone, status, add, commit, switch, merge, pull, push, log и diff, плюс правильно настроенный .gitignore.

Короткий ответ

Большая часть работы с Git укладывается в цикл: получить изменения → создать ветку → изменить файлы → add → commit → push. Ниже команды сгруппированы по задачам, чтобы быстро найти нужную.

Начать работу

КомандаЧто делает
git initсоздаёт новый репозиторий в текущей папке
git clone <url>скачивает существующий репозиторий со всей историей
git config --global user.name "Имя"задаёт имя автора коммитов
git config --global user.email "mail"задаёт почту автора
git clone https://github.com/user/project.git
cd project

Сохранить изменения

КомандаЧто делает
git statusпоказывает изменённые, подготовленные и новые файлы
git add <файл>добавляет файл в staging area
git add -pпозволяет выбрать отдельные фрагменты изменений
git commit -m "сообщение"фиксирует подготовленные изменения
git commit --amendисправляет последний коммит (только если он ещё не отправлен)
git restore <файл>отменяет несохранённые изменения в файле
git restore --staged <файл>убирает файл из staging area, не трогая правки
git status
git add src/cart.js
git commit -m "Fix discount calculation in cart"

Совет: git add -p — лучший способ делать аккуратные коммиты, когда в одном файле смешаны разные правки.

Работать с ветками

КомандаЧто делает
git branchсписок локальных веток
git switch -c <ветка>создаёт ветку и переключается на неё
git switch <ветка>переключается на существующую ветку
git merge <ветка>вливает указанную ветку в текущую
git branch -d <ветка>удаляет ветку, которая уже влита
git stash / git stash popвременно прячет незакоммиченные правки и возвращает их
git switch -c feature/login-form
# ...работа...
git switch main
git merge feature/login-form

Команды switch и restore — более новые и понятные замены перегруженной git checkout, которая до сих пор работает.

Синхронизироваться с сервером

КомандаЧто делает
git remote -vпоказывает подключённые удалённые репозитории
git fetchскачивает изменения, не трогая ваши ветки
git pullскачивает и вливает изменения в текущую ветку
git pushотправляет ваши коммиты на сервер
git push -u origin <ветка>первая отправка новой ветки с привязкой к удалённой
git pull
git push -u origin feature/login-form

Если сомневаетесь, что придёт с сервера, сначала сделайте git fetch, а затем посмотрите разницу.

Посмотреть историю и изменения

КомандаЧто делает
git log --oneline --graphкомпактная история с ветками
git diffизменения, ещё не добавленные в staging
git diff --stagedизменения, которые войдут в коммит
git show <хеш>содержимое конкретного коммита
git blame <файл>кто и в каком коммите менял каждую строку
git log --oneline --graph --all
git diff --staged

Основы .gitignore

Файл .gitignore в корне проекта перечисляет то, что Git не должен отслеживать: зависимости, сборки, логи и секреты.

# зависимости и сборка
node_modules/
dist/

# переменные окружения и секреты
.env
.env.local

# системные и редакторские файлы
.DS_Store
.idea/
*.log

Важные моменты:

  • .gitignore не действует на файлы, которые уже отслеживаются. Чтобы перестать отслеживать файл, выполните git rm --cached <файл> и закоммитьте изменение.
  • Если секрет уже попал в историю, одного .gitignore мало: ключ нужно отозвать и заменить.
  • Готовые шаблоны для разных языков есть в официальном репозитории github/gitignore.

Частые ошибки

  • git add . без git status. Легко закоммитить лишнее — сначала посмотрите, что изменилось.
  • --amend после push. Это переписывает историю, которую уже видят другие.
  • Долгая работа без pull. Чем дольше ветка живёт отдельно, тем больше конфликтов при слиянии.

Частые вопросы

git fetch только скачивает изменения с сервера и обновляет удалённые ветки, ваши файлы не меняются. git pull делает fetch и сразу вливает изменения в текущую ветку.

Поможем с этим

Если хотите не разбираться самим, а получить результат — этим мы занимаемся каждый день.

Обсудить проект

Читайте также

Есть идея или задача? Расскажите нам

Ответим в течение рабочего дня и предложим решение. Консультация бесплатная.