Git шпаргалка: всі основні команди
Git шпаргалка — всі основні команди
Тримай під рукою — тут зібрані найпотрібніші Git команди, від перших кроків до просунутих прийомів.
Якщо ти тільки починаєш — почни з уроку про основи Git.
Налаштування
| Команда | Що робить |
|---|---|
git config --global user.name "Ім'я" | Встановити ім'я автора |
git config --global user.email "email@example.com" | Встановити email |
git config --list | Переглянути всі налаштування |
git init | Створити новий репозиторій |
git clone <url> | Клонувати існуючий репозиторій |
Базовий робочий процес
| Команда | Що робить |
|---|---|
git status | Показати стан робочої директорії |
git status -s | Короткий формат статусу |
git add <файл> | Додати файл до staging area |
git add . | Додати всі змінені файли |
git add -p | Додати зміни інтерактивно (по частинах) |
git commit -m "повідомлення" | Зафіксувати зміни з повідомленням |
git commit --amend | Змінити останній коміт |
git diff | Показати незафіксовані зміни |
git diff --staged | Показати зміни в staging area |
Гілки
| Команда | Що робить |
|---|---|
git branch | Список локальних гілок |
git branch -a | Список усіх гілок (локальні + remote) |
git branch <назва> | Створити нову гілку |
git branch -d <назва> | Видалити гілку (безпечно) |
git branch -D <назва> | Видалити гілку примусово |
git switch <назва> | Перейти на іншу гілку |
git switch -c <назва> | Створити гілку і перейти на неї |
git merge <гілка> | Злити гілку в поточну |
git merge --abort | Скасувати злиття |
Інфо
git switch — новіша команда (Git 2.23+), спеціально для перемикання між гілками. git checkout все ще працює, але switch зрозуміліший.
Remote (віддалені репозиторії)
Детальніше про роботу з GitHub — в уроці про remote репозиторії.
| Команда | Що робить |
|---|---|
git remote -v | Показати remote з URL |
git remote add <ім'я> <url> | Додати новий remote |
git push <remote> <гілка> | Відправити коміти на сервер |
git push -u origin <гілка> | Перший push з прив'язкою гілки |
git push -d origin <гілка> | Видалити гілку на сервері |
git pull | Завантажити і злити зміни з remote |
git fetch | Завантажити зміни без злиття |
git fetch --all | Завантажити з усіх remote |
Історія
| Команда | Що робить |
|---|---|
git log | Повна історія комітів |
git log --oneline | Коміти в один рядок |
git log --oneline --graph --all | Візуальне дерево гілок |
git log --author="Ім'я" | Фільтр по автору |
git log --since="2 weeks ago" | Коміти за останні 2 тижні |
git show <хеш> | Деталі конкретного коміту |
git blame <файл> | Хто змінював кожен рядок файлу |
git reflog | Журнал усіх дій (для відновлення) |
Скасування змін
| Команда | Що робить |
|---|---|
git restore <файл> | Скасувати зміни в робочій директорії |
git restore --staged <файл> | Прибрати файл зі staging area |
git reset HEAD~1 | Скасувати останній коміт (зміни залишаться) |
git reset HEAD~1 --soft | Скасувати коміт, зміни залишаться в staging |
git reset HEAD~1 --hard | Скасувати коміт і видалити зміни |
git revert <хеш> | Створити новий коміт, що скасовує зміни |
git clean -fd | Видалити невідстежувані файли та папки |
Увага
git reset --hard видаляє зміни безповоротно. Якщо працюєш у команді — використовуй git revert, він безпечніший.
Stash (тимчасове сховище)
| Команда | Що робить |
|---|---|
git stash | Сховати незафіксовані зміни |
git stash list | Список усіх stash-записів |
git stash pop | Повернути останній stash і видалити його |
git stash apply | Повернути stash без видалення |
git stash drop | Видалити останній stash |
Теги (для релізів)
| Команда | Що робить |
|---|---|
git tag | Список усіх тегів |
git tag v1.0.0 | Створити легкий тег |
git tag -a v1.0.0 -m "опис" | Створити анотований тег |
git push origin v1.0.0 | Відправити тег на сервер |
git push origin --tags | Відправити всі теги |
Просунуті команди
| Команда | Що робить |
|---|---|
git rebase <гілка> | Перебазувати поточну гілку |
git rebase -i HEAD~3 | Інтерактивний rebase (переписати 3 коміти) |
git cherry-pick <хеш> | Застосувати конкретний коміт з іншої гілки |
git bisect start | Бінарний пошук коміту з багом |
git worktree add <шлях> <гілка> | Окрема робоча директорія для гілки |
Корисні аліаси
Додай їх через git config --global alias.<скорочення> '<команда>':
| Аліас | Команда | Для чого |
|---|---|---|
st | status | Швидкий статус |
co | checkout | Перемикання гілок |
br | branch | Робота з гілками |
ci | commit | Коміт |
undo | reset HEAD~1 --mixed | Скасувати останній коміт |
last | log -1 HEAD | Останній коміт |
visual | log --graph --oneline --all | Дерево гілок |
# Приклад: додати аліас "st" для "status"
git config --global alias.st status
# Тепер замість "git status" можна писати:
git st
Інфо
- Офіційна документація Git — повний довідник усіх команд
- GitHub Git Cheat Sheet — шпаргалка від GitHub українською
- Atlassian Git Tutorial — покрокові туторіали з ілюстраціями
- Learn Git Branching — інтерактивний тренажер з візуалізацією гілок