Изучаем Git. Урок 19.
Зачем нужен git push --force
и что с ним может пойти не так
зачем он нужен и почему им стоит пользоваться осторожно
Видеоурок
Конспект урока
Краткое содержание урока, основные инструкции для командной строки, полезные ссылки и советы.
Затем нужен git push --force
Если запушить коммит на сервер, а после этого переписать историю коммитов (например, переименовать), то просто запушить ветку уже не получится. При этом нужно пушить ветку с форсом, вот так
Или краткая запись флажка --force
Что делает git push --force
Фактически эта команда заменяет содержимое ветки на сервере на то, что лежит в локальной ветке
Почему пуш с форсом может быть опасен
Потому что есть риск потерять часть истории коммитов, если запушить с форсом, предварительно не подтянув изменения с сервера, то есть не спулив ветку
7 советов по работе с историей коммитов и git push --force
1. При работе только локально переписывайте историю как угодно
2. Если работаете один и пушите ветку только для создания резервной копии кода, тоже можно переписывать историю и пушить с форсом
3. При совместной работе в ветке почаще делайте git pull --rebase. И всегда делайте его перед пушем
4. Не стоит переписывать историю коммитов при совместной работе над веткой
5. Если при совместной работе нужно подтянуть мастер в ветку, делайте это через gti merge master, а не через git rebase master. В этом случае не будет перезаписи истории и не придется пушить с форсом
6. Если все же хочется переписать историю в общей ветке, то делайте это уже непосредственно перед мерджем в мастер, когда все закончили работать над веткой
7. Никогда не пушьте с форсом в мастер
Спасибо за внимание и до встречи!