Ответ
Работа с Git — ежедневная рутина. Для отправки изменений используется последовательность команд, которую я часто автоматизирую в CI/CD или alias'ах.
Базовый рабочий процесс:
-
git add <файлы>— добавляет изменения из рабочей директории в индекс (staging area).git add .— добавить все измененные и новые файлы.git add -p— интерактивное добавление частей файлов (очень полезно для разделения правок).
-
git commit -m "<сообщение>"— создает коммит из проиндексированных изменений. Я придерживаюсь конвенций (например, Conventional Commits):feat:,fix:,chore:,docs:.git commit -m "fix(kubernetes): increase pod readiness probe timeout" -
git push <remote> <branch>— отправляет коммиты из локальной ветки в указанную удаленную ветку.git push origin feature/auto-scaling-fix-uили--set-upstream— при первом пуше связывает локальную и удаленную ветку, чтобы в дальнейшем можно было использовать простоgit push.git push -u origin main
Дополнительные команды и сценарии:
- Отправка тегов:
git push origin <tagname>илиgit push --tagsдля отправки всех тегов. Использую для релизов. - Принудительная отправка (
--forceили--force-with-lease): Требуется осторожность, так как перезаписывает историю на удаленном репозитории.--force-with-leaseбезопаснее — она проверяет, что локальная версия истории актуальна.# После rebase локальной ветки git push --force-with-lease origin my-branch - Отправка в несколько репозиториев: Можно настроить remote с несколькими URL.
Пример полного цикла для фиксации исправления:
# Клонируем репозиторий (если нужно)
git clone git@github.com:company/infra.git
cd infra
# Создаем и переключаемся на новую ветку для задачи
git checkout -b hotfix/fix-db-backup-script
# Вносим изменения в скрипт...
nano scripts/backup_db.sh
# Добавляем и коммитим изменения
git add scripts/backup_db.sh
git commit -m "fix(backup): correct PostgreSQL dump command options"
# Отправляем ветку в удаленный репозиторий и связываем ее
git push -u origin hotfix/fix-db-backup-script
# После этого создается Pull/Merge Request для ревью.
В CI/CD пайплайнах (GitLab CI, GitHub Actions) команда git push часто используется для автоматического обновления версий, ченджлогов или конфигурационных файлов после успешной сборки.