← Назад к вопросам

Как отправить изменения в репозиторий?

1.3 Junior🔥 211 комментариев
#Инструменты и DevOps

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI2 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Отправка изменений в Git репозиторий

Основной workflow

Отправка кода в репозиторий — основная часть работы разработчика. Процесс состоит из нескольких этапов: подготовка, коммит и отправка на сервер.

Шаг 1: Проверка статуса

Перед началом всегда проверяем, что изменилось.

git status

Это покажет:

  • Измененные файлы (modified)
  • Новые файлы (untracked)
  • Удаленные файлы (deleted)
  • Индексированные файлы (staged)

Шаг 2: Добавление файлов в индекс (staging)

Способ 1: Добавить конкретные файлы

git add src/components/Button.tsx
git add src/styles/index.css

Это наиболее безопасный способ — ты контролируешь, какие файлы коммитятся.

Способ 2: Добавить все измененные файлы

git add .

⚠️ Будь осторожен! Это добавит все файлы, включая конфигурации, логи и другое.

Способ 3: Интерактивное добавление (по частям)

git add -i

Позволяет выбрать конкретные части файлов для коммита.

Шаг 3: Создание коммита

Базовая команда:

git commit -m "Add Button component"

С подробным описанием:

git commit -m "Add Button component

- Implement basic button styles
- Add hover and focus states
- Add accessibility attributes"

Best Practices для сообщений:

  • Используй imperative mood: "Add" вместо "Added" или "Adds"
  • Первая строка: короткая (50 символов)
  • Пустая строка: перед подробным описанием
  • Подробное описание: объясни "почему", а не "что"
# ✅ Хорошо
git commit -m "Fix flex alignment in Header

Previously, items were misaligned on mobile devices.
Changed flex-direction to column for screens < 768px.
Refs: #123"

# ❌ Плохо
git commit -m "fix stuff"

Шаг 4: Отправка на сервер (push)

Отправить текущую ветку:

git push

Если ветка новая, указывается origin и имя ветки:

git push -u origin feature/new-button

Отправить конкретную ветку:

git push origin main

Отправить все ветки:

git push --all

Полный пример workflow

# 1. Делаешь изменения в файлах
# 2. Проверяешь статус
git status

# 3. Добавляешь нужные файлы
git add src/components/Button.tsx
git add src/components/Button.test.tsx

# 4. Проверяешь, что добавилось
git status  # Должны быть зеленые "Changes to be committed"

# 5. Создаешь коммит
git commit -m "Add Button component with tests"

# 6. Отправляешь на сервер
git push

Ветвление и Pull Requests

Создание новой ветки для фичи:

git checkout -b feature/user-profile
# или (Git 2.23+):
git switch -c feature/user-profile

После завершения работы:

git push -u origin feature/user-profile

Затем создаешь Pull Request (PR) через веб-интерфейс GitHub.

Исправление ошибок

Отменить последний коммит (но сохранить изменения):

git reset --soft HEAD~1

Отменить последний коммит и все изменения:

git reset --hard HEAD~1

⚠️ Будь осторожен с --hard — это удалит данные!

Добавить файл в последний коммит:

git add forgotten-file.ts
git commit --amend --no-edit

Конфликты слияния

Когда две ветки изменили один файл:

# 1. Получи последние изменения
git pull

# 2. Вручную исправь файлы (конфликты помечены как <<<<<<< и >>>>>>>)

# 3. Добавь исправленные файлы
git add .

# 4. Заверши слияние
git commit -m "Resolve merge conflicts"

.gitignore

Создай файл .gitignore в корне проекта, чтобы не коммитить лишние файлы:

node_modules/
.env
.env.local
dist/
build/
*.log
.DS_Store

Основные команды

git status                    # Статус
git diff                      # Посмотреть изменения
git log                       # История коммитов
git add <файл>              # Добавить файл
git commit -m "..."         # Создать коммит
git push                     # Отправить на сервер
git pull                     # Получить изменения с сервера
git branch                   # Список веток
git checkout -b <ветка>     # Создать новую ветку

Этот процесс — основа ежедневной работы разработчика с системой контроля версий.

Как отправить изменения в репозиторий? | PrepBro