Комментарии (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 — мощный инструмент. Основные команды нужно знать, но продвинутые можно искать в документации.