← Назад к вопросам

Какие знаешь команды Git?

1.3 Junior🔥 251 комментариев
#Git и VCS

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Команды Git

Git — это распределённая система контроля версий. Вот основные команды, которые использую.

Базовые

git init                 # Инициализировать репозиторий
git clone url            # Клонировать репозиторий
git add .               # Добавить файлы в staging area
git commit -m "msg"     # Коммитить с сообщением
git push                # Отправить изменения на сервер
git pull                # Получить изменения с сервера
git status              # Показать состояние
git log                 # История коммитов

Ветки

git branch                    # Список веток
git branch feature-name       # Создать ветку
git switch feature-name       # Переключиться на ветку
git switch -c feature-name    # Создать и переключиться
git delete branch-name        # Удалить ветку
git merge feature-name        # Слить ветку в текущую
git rebase main              # Переместить коммиты

Просмотр

git log                       # История
git log --oneline            # Компактная история
git log -n 5                 # Последние 5 коммитов
git show commit-hash          # Показать коммит
git diff                      # Различия (unstaged)
git diff --staged            # Различия (staged)
git blame file.py            # Кто изменил каждую строку

Отмена изменений

git restore file.py          # Отмена изменений файла
git restore --staged file.py # Убрать файл из staging
git reset HEAD~1             # Отмена последнего коммита
git revert commit-hash       # Создать обратный коммит
git clean -fd                # Удалить неслеженые файлы

Stash (временное хранилище)

git stash                     # Спрятать изменения
git stash list               # Список скрытых изменений
git stash pop                # Применить последнее
git stash drop stash@{0}     # Удалить скрытое

Remote (удалённый репозиторий)

git remote -v                # Список удалённых
git remote add origin url     # Добавить удалённый
git fetch origin             # Получить без слияния
git push origin main         # Отправить на main
git pull origin main         # Получить и слить

Продвинутые

git rebase -i HEAD~5         # Интерактивный rebase
git cherry-pick commit-hash   # Применить конкретный коммит
git tag v1.0.0               # Создать тег
git bisect start             # Найти коммит с багом
git worktree add ../branch   # Рабочая копия ветки

Конфигурация

git config --global user.name "John Doe"
git config --global user.email "john@example.com"
git config --global core.editor vim
git config --list            # Показать всю конфигурацию

Типичный workflow

# 1. Создать ветку
git switch -c feature/new-api

# 2. Делать изменения
echo "code" > app.py
git add app.py
git commit -m "Add new API endpoint"

# 3. Отправить
git push origin feature/new-api

# 4. Слить в main
git switch main
git pull origin main
git merge feature/new-api
git push origin main

# 5. Удалить ветку
git branch -d feature/new-api
git push origin -d feature/new-api

Хорошие практики

# Осмысленные сообщения
git commit -m "Fix N+1 query in user list (closes #123)"

# Атомарные коммиты
git add feature1.py
git commit -m "Add feature 1"
git add feature2.py
git commit -m "Add feature 2"

# Перед слиянием — rebase
git rebase main
git push --force-with-lease

# Code review перед мержем
git push origin feature
# Создать Pull Request на GitHub

Когда что использовать

  • merge: для интеграции в long-lived ветки
  • rebase: для очистки истории перед слиянием
  • cherry-pick: для применения конкретных коммитов
  • stash: когда нужно переключиться на другую ветку
  • bisect: для поиска коммита с багом

Вывод: Git — мощный инструмент. Основные команды нужно знать, но продвинутые можно искать в документации.

Какие знаешь команды Git? | PrepBro