🔸Конфигурация
-
git config --global user.name "Your Name" Задаёт имя для коммитов глобально (для всех репозиториев).
-
git config --global user.email "you@example.com" Задаёт email для коммитов глобально.
-
git config --list Показывает все настройки конфигурации Git.
🔸Репозиторий и удалённые репозитории
-
git init Инициализирует новый Git-репозиторий в текущей директории.
-
git clone <repo> Создаёт локальную копию удалённого репозитория.
-
git remote add <name> <url> Добавляет новый удалённый репозиторий с именем и URL.
-
git remote remove <name> Удаляет удалённый репозиторий по имени.
-
git remote rename <old-name> <new-name> Переименовывает удалённый репозиторий.
🔸Ветки
-
git branch Список всех веток в репозитории.
-
git branch <branch-name> Создаёт новую ветку с указанным именем.
-
git checkout -b <branch-name> Создаёт новую ветку и сразу переключается на неё.
-
git checkout <branch-name> Переключается на указанную ветку.
-
git merge <branch> Сливает изменения из указанной ветки в текущую.
-
git rebase <branch> Переносит коммиты из текущей ветки поверх другой.
-
git branch -d <branch-name> Удаляет ветку, которая уже была слита.
-
git branch -D <branch-name> Принудительно удаляет ветку, независимо от её состояния.
🔸Индексация и коммиты
-
git add <file> Добавляет изменения в указанный файл в staging.
-
git add . Добавляет все изменения в текущей директории и подпапках.
-
git commit -m "message" Фиксирует проиндексированные изменения с сообщением.
-
git commit --amend Изменяет последний коммит (сообщение или содержимое).
🔸Отмена изменений
-
git reset <file> Убирает файл из staging (оставляет изменения).
-
git reset HEAD~1 Отменяет последний коммит, но сохраняет изменения в рабочей директории.
🔸Просмотр изменений
-
git status Показывает состояние рабочего каталога и staging.
-
git diff Показывает различия между рабочей директорией и индексом.
-
git diff --staged Показывает различия между staged-изменениями и последним коммитом.
🔸История
-
git log Показывает историю коммитов текущей ветки.
-
git log --oneline Сокращённый лог (одна строка на коммит).
-
git show <commit> Показывает информацию о конкретном коммите.
-
git blame <file> Показывает последнюю модификацию для каждой строки файла.
🔸Stash
-
git stash Сохраняет текущие изменения во временное хранилище.
-
git stash list Список всех stash-записей.
-
git stash apply Применяет изменения из последнего stash.
-
git stash drop Удаляет конкретный stash.
-
git stash pop Применяет последний stash и удаляет его.
🔸Работа с удалённым репозиторием
-
git pull Загружает изменения из удалённого репозитория и сливает их.
-
git push Отправляет локальные коммиты в удалённый репозиторий.
-
git push origin <branch> Отправляет указанную ветку в удалённый репозиторий.
-
git fetch Загружает изменения из удалённого репозитория без слияния.
-
git fetch --all Обновляет все удалённые репозитории.
🔸Теги
-
git tag <tag-name> Создаёт тег для определённого коммита.
-
git tag -a <tag-name> -m "message" Создаёт аннотированный тег с сообщением.
-
git push origin <tag-name> Отправляет тег в удалённый репозиторий.
-
git tag -d <tag-name> Удаляет тег локально.
🔸Продвинутые команды
-
git cherry-pick <commit> Применяет изменения из указанного коммита в текущую ветку.
-
git rebase -i HEAD~n Интерактивный rebase для последних *n* коммитов.
-
git reflog Показывает журнал всех действий в репозитории.
-
git bisect Позволяет найти коммит с багом методом бинарного поиска.
-
git describe Показывает последний тег, доступный для коммита.
👉 @PythonPortal