Перечислите основные команды Git

Ответ

Git — это распределенная система контроля версий, которая позволяет отслеживать изменения в коде, совместно работать над проектами и управлять версиями. Вот основные команды Git, используемые в повседневной разработке:

  • git init: Инициализирует новый локальный репозиторий Git в текущей директории. Это первый шаг для начала отслеживания изменений в проекте.
  • git clone <url>: Создает локальную копию удаленного репозитория. Используется для получения существующего проекта с сервера.
  • git add <file(s)> / git add .: Добавляет изменения из рабочей диретории в индекс (staging area). Это подготавливает файлы к следующему коммиту.
  • git commit -m "message": Фиксирует (сохраняет) изменения из индекса в историю репозитория. Сообщение коммита должно кратко описывать внесенные изменения.
  • git status: Показывает текущее состояние рабочей директории и индекса: какие файлы изменены, какие готовы к коммиту, а какие нет.
  • git log: Отображает историю коммитов текущей ветки, включая автора, дату и сообщение коммита.
  • git branch: Показывает список всех локальных веток. С опцией -a покажет и удаленные.
  • git checkout <branch> / git switch <branch>: Переключает рабочую директорию на указанную ветку или коммит. git switch — более современная альтернатива для переключения веток.
  • git merge <branch>: Объединяет изменения из указанной ветки в текущую. Используется для интеграции функциональности из одной ветки в другую.
  • git pull: Забирает изменения из удаленного репозитория и автоматически объединяет их с текущей локальной веткой. Эквивалентно git fetch + git merge.
  • git push: Отправляет зафиксированные изменения из локального репозитория в удаленный. Используется для публикации локальных изменений.
  • git diff: Показывает различия между рабочей директорией и индексом, между индексом и последним коммитом, или между двумя коммитами/ветками.

Пример типичного рабочего процесса:

# 1. Клонирование существующего репозитория
git clone https://github.com/user/repo.git
cd repo

# 2. Создание новой ветки для разработки фичи
git checkout -b feature-branch

# 3. Внесение изменений в файлы...

# 4. Добавление измененных файлов в индекс
git add .

# 5. Фиксация изменений
git commit -m "Add new feature: user authentication"

# 6. Отправка новой ветки с изменениями в удаленный репозиторий
git push origin feature-branch

# 7. Переключение на основную ветку (например, main/master)
git checkout main

# 8. Получение последних изменений из удаленного репозитория
git pull origin main

# 9. Объединение ветки feature-branch с основной
git merge feature-branch

# 10. Отправка объединенных изменений в удаленный репозиторий
git push origin main