Как работать с ветками и коммитами в Git — от создания ветки до push?
- Что такое хороший коммит?
- Как отправить ветку в удалённый репозиторий?
Работа идёт в отдельной ветке от актуальной 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
Разбор темы
- Git — ветки, коммиты и отмена изменений
Как работать в ветке от первого коммита до push, чем merge отличается от rebase, как отменять изменения и разрешать конфликты.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.