← Назад до блогу

Git-шпаргалка для щоденної роботи

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

Довідник робочого процесу Git

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 -20

git 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-процес — це не максимум команд напам’ять, а найменша явна зміна з перевіркою результату.

← Назад до блогу