Вопрос с собеседования · DevOps

Как работать с ветками и коммитами в Git — от создания ветки до push?

JuniorCI/CD и Git
Ещё спрашивают так:
  • Что такое хороший коммит?
  • Как отправить ветку в удалённый репозиторий?
Коротко

Работа идёт в отдельной ветке от актуальной main: git switch -c feature/login. Изменения добавляют в индекс (git add) и фиксируют коммитом с осмысленным сообщением: что изменено и зачем, в повелительном наклонении («Добавить вход по коду»). Коммит — одно логическое изменение, которое собирается и проходит тесты. Ветку отправляют на сервер: git push -u origin feature/login, дальше — pull request.

  • git status и git diff — перед каждым коммитом, чтобы не закоммитить лишнее
  • .gitignore — для сборки, зависимостей, секретов и файлов IDE
  • Ветку регулярно обновляют от main, чтобы не копить конфликты

А ещё «fix», «wip», «правки» — плохие сообщения: через месяц никто не поймёт, что это

Подробно

Типичный цикл:

git switch main && git pull
git switch -c feature/login-code
# правки
git status
git diff
git add src/auth.py tests/test_auth.py
git commit -m "Добавить вход по одноразовому коду"
git push -u origin feature/login-code

Хорошее сообщение: первая строка до ~70 символов, по делу; при необходимости — пустая строка и пояснение, почему так.

Чего не делать: коммитить секреты (.env), огромные коммиты «всё за неделю», коммиты, после которых проект не собирается.

Что хотят услышать

  • Ветка от актуальной main.
  • add, commit с осмысленным сообщением, push.
  • Небольшие логические коммиты.
  • .gitignore и проверка перед коммитом.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗Работать прямо в main и коммитить всё раз в неделю одним большим коммитом с сообщением «правки», чтобы история была короче
  • ✗Сообщение коммита не важно — история всё равно в коде
  • ✗Файл .env с паролями нужно коммитить, чтобы коллеги могли запустить проект
  • ✓Ветка от свежей main, небольшие коммиты с сообщением «что и зачем», затем push и pull request

Разбор темы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования