Выбор ответа Middle Git обновлено
push --force-with-lease
Вопрос
Ты сделал rebase своей ветки и хочешь её запушить. Почему лучше git push --force-with-lease, а не git push --force?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Откажет, если на сервере есть коммиты, не виденные при fetch. Lease сравнивает текущее значение удалённой ветки с тем, что ты знаешь (origin/<ветка).
Варианты ответа
- --force-with-lease быстрее, потому что не передаёт объекты
- Откажет, если на сервере есть коммиты, не виденные при fetchправильный ответ
- --force-with-lease создаёт резервную ветку на сервере
- --force без lease запрещён в GitHub для всех веток
Разбор
Lease сравнивает текущее значение удалённой ветки с тем, что ты знаешь (origin/<ветка>). Если коллега успел запушить, команда откажет вместо того, чтобы молча стереть его коммиты.
- Объём передачи такой же.
- Никакой резервной ветки не создаётся.
- GitHub сам по себе force push не запрещает, это настраивается правилами защиты веток.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.