Git-шпаргалка для щоденної роботи
Практичні Git-команди для репозиторіїв, remote, гілок, staged-змін, відновлення та безпечнішої командної роботи.

Git стає зрозумілішим, коли ви спершу визначаєте, який стан змінюєте: working tree, index, локальну історію чи remote history. Ця шпаргалка групує команди саме за наміром.
Перед destructive-командою або переписуванням історії виконайте
git status, перевірте поточну гілку й з’ясуйте, чи коміти вже опубліковані для команди.
Створити або клонувати репозиторій
Клонувати наявний репозиторій:
git clone git@example.com:team/project.gitІніціалізувати локальний проєкт і додати remote:
git init
git remote add origin git@example.com:team/project.git
git remote -vЗмінити або видалити remote:
git remote set-url origin git@example.com:team/new-project.git
git remote remove originПеревірити поточний стан
git status --short --branch
git diff
git diff --staged
git log --oneline --decorate --graph -20git diff показує unstaged-зміни. git diff --staged показує майбутній вміст коміту.
Stage і commit
За замовчуванням додавайте конкретні шляхи, а не весь репозиторій:
git add path/to/file another/path
git commit -m "feat: describe the outcome"Якщо змінився .gitignore і tracked-файл має стати ignored, приберіть з index лише цей шлях:
git rm --cached path/to/fileНе очищайте весь index без перевірки scope і реальної потреби в повній переіндексації репозиторію.
Гілки
Створити гілку й перейти на неї:
git switch -c feature/clear-nameПерейти на наявну гілку або створити локальну з remote:
git switch main
git fetch origin
git switch --track origin/feature/clear-nameПерейменувати поточну гілку й опублікувати її:
git branch -m new-name
git push --set-upstream origin new-nameПрибрати remote-tracking references, яких уже немає:
git fetch --prune originБезпечне відновлення
Відкинути unstaged-зміни одного файла:
git restore path/to/fileПрибрати файл зі stage, зберігши зміну у working tree:
git restore --staged path/to/fileВідновити файл із відомого коміту:
git restore --source=<commit> -- path/to/fileЦі команди перезаписують частину локального стану. Спершу перегляньте git diff, якщо зміни не можна легко відтворити.
Синхронізація з remote
Отримати remote history без зміни поточної гілки:
git fetch originОпублікувати поточну гілку й установити upstream:
git push --set-upstream origin HEADТеги публікуються окремо:
git push origin --tagsЯк думати про відновлення
Якщо щось пішло не так, не додавайте нові команди, доки не зрозумієте, який шар Git змінився. git status, git reflog і копія незакоміченого файла зазвичай корисніші за агресивний reset. Безпечний Git-процес — це не максимум команд напам’ять, а найменша явна зміна з перевіркою результату.