--- status: seed type: guide tags: - devops - git - cli created: 2025-12-17 updated: 2026-05-07 title: Основные команды git --- # Основные команды git Эта заметка — краткий справочник по базовым командам [[Git]]. ## Создание и получение репозитория - `git init` — создать новый Git-репозиторий в текущем проекте. - `git clone` — создать локальную копию удалённого репозитория. ## Работа с ветками - `git branch` — показать, создать или удалить ветки. - `git checkout` — переключиться на ветку, файл или коммит. - `git merge` — слить одну ветку в другую. - `git rebase` — перебазировать ветку поверх другой ветки. ## Работа с изменениями - `git status` — показать состояние рабочего каталога. - `git add` — добавить изменения в индекс. - `git commit` — зафиксировать проиндексированные изменения. - `git restore` — откатить изменения или убрать их из индекса. - `git revert` — создать новый коммит, отменяющий выбранный старый коммит без переписывания истории. ## Работа с удалённым репозиторием - `git push` — отправить локальные коммиты в удалённый репозиторий. - `git pull` — получить изменения из удалённого репозитория и сразу объединить их с локальной веткой. Платформы вроде [[Gitlab]] используют эти операции как основу для командной разработки, merge request и CI/CD. ## Merge и rebase `git merge` и `git rebase` решают одну задачу: переносят изменения из одной ветки в другую. Разница в том, как они меняют историю. ### Merge `git merge` создаёт слияние веток без переписывания уже существующих коммитов. Это безопасный вариант для публичных веток. ![](https://legacy.merionet.ru/images/devops/images/3756/img_04.png) ### Rebase `git rebase` переносит коммиты текущей ветки поверх другой ветки и помогает получить более линейную историю. ![](https://legacy.merionet.ru/images/devops/images/3756/img_03.png) > [!important] Золотое правило rebase > Не выполнять `git rebase` над публичной веткой, если её уже используют другие разработчики. ## Когда выбирать merge или rebase - Если нужно сохранить полную историю и не переписывать публичные коммиты — использовать `git merge`. - Если нужна чистая линейная история в локальной или личной ветке — использовать `git rebase`. ## Связанные заметки - [[Git]] - [[Gitlab]] - [[DevOps - основы]]