66 lines
4.0 KiB
Markdown
66 lines
4.0 KiB
Markdown
---
|
|
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** — это неразрушающая операция, существующие ветки никак не изменяются.
|
|
|
|

|
|
|
|
**Git rebase** — это операция фактического перебазирования ответвленной ветки в исходную, с созданием идеальной линейной истории проекта.
|
|
|
|

|
|
|
|
Золотое правило перебазирования:
|
|
|
|
**“Never rebase while you're on a public branch”** (никогда не используйте git rebase в публичных репозиториях) Если вы предпочитаете иметь чистую линейную историю без ненужных коммитов слияния – используйте Git rebase.
|
|
|
|
Если вам необходимо сохранить полную историю проекта и избежать перезаписи публичных коммитов – используйте команду Git merge. |