--- status: seed type: concept tags: [] created: 2025-12-17 updated: 2026-04-30 title: Основные команды git --- # Основные команды git `git init` - создание нового Git-репозитория (преобразование существующего проекта или создание нового пустого репозитория). `git clone` - создание локальной копии удаленного Git-репозитория. `git branch` - создание отдельной ветки на основе существующей для осуществления в новой ветке процесса разработки с возможным последующим слиянием. `git checkout` - переключение между различными версиями целевого объекта (файлы, коммиты и ветки). `git status` - отображение рабочего состояния файлов в локальной копии отслеживаемого проекта. `git add` - индексирование изменений в локальной копии отслеживаемого проекта. `git commit` одготовка к отправке в удаленный репозиторий набора проиндексированных изменений в локальном проекте. #### `git push` Выгрузка в удаленный репозиторий подготовленного набора проиндексированных изменений из отслеживаемой локальной копии. #### `git pull` Загрузка содержимого из удаленного репозитория и немедленное слияние изменений в локальный отслеживаемый репозиторий. #### `git restore` Отмена индексации изменений в локальном репозитории. #### `git revert` Отмена подготовленных к отправке проиндексированных изменений в локальном репозитории с сохранением истории. #### `git merge` Слияние ответвления (ветки ответвленной с веткой изначальной). Изменения часто проходят процедуру согласования с участниками команды разработки через механизм merge Request. #### `git rebase` Операция, подобная слиянию (Git merge). **Команды Git merge и Git rebase решают одну и ту же проблему –** **слияние одной ветки в другую, но делают это по-разному.** **Git merge** — это неразрушающая операция, существующие ветки никак не изменяются. ![](https://legacy.merionet.ru/images/devops/images/3756/img_04.png) **Git rebase** — это операция фактического перебазирования ответвленной ветки в исходную, с созданием идеальной линейной истории проекта. ![](https://legacy.merionet.ru/images/devops/images/3756/img_03.png) Золотое правило перебазирования: **“Never rebase while you're on a public branch”** (никогда не используйте git rebase в публичных репозиториях) Если вы предпочитаете иметь чистую линейную историю без ненужных коммитов слияния – используйте Git rebase. Если вам необходимо сохранить полную историю проекта и избежать перезаписи публичных коммитов – используйте команду Git merge.