Какие плюсы и минусы force push

Ответ

Плюсы:

  • Быстро исправляет историю коммитов (например, удалил чувствительные данные)
  • Позволяет перезаписать удалённую ветку после локального rebase/squash
  • Удобен для личных/feature веток, где ты единственный разработчик

Минусы:

  • Опасен для общих веток (может сломать работу коллег)
  • Удаляет историю коммитов других разработчиков
  • Требует синхронизации (git pull --rebase) у всех, кто уже склонировал ветку

Когда использовать:

# Только для личных веток!
git push --force-with-lease  # безопаснее, чем --force

Лучше использовать --force-with-lease — он проверит, что никто не пушил изменения параллельно.

Ответ 18+ 🔞

Да ты послушай, что за дичь творится с этим git push --force! Это ж как динамит в руках обезьяны, ёпта. С одной стороны — ну охуенно же! Накосячил в коммитах, пароль в репу залил или просто историю превратил в сраное месиво из «фикс», «ещё фикс» и «чё за хуйня». Раз — force push, и всё, чисто, будто и не было. Или сделал себе локально красивый rebase, скоммуниздил кучу коммитов в один умный — и просто перезаписываешь удалённую ветку, как будто так и надо. Для своей персональной ветки, где ты один царь, бог и воин — вообще идеально, хули.

А с другой стороны... Это же пиздец, если в общую ветку, где уже десять человек натягали изменений, такое вытворять. Представь: ты сидишь, кодишь, у тебя уже своя локальная история с этими коммитами построилась. А тут какой-то умник взял да всю удалённую историю к хуям собачьим переписал. Ты делаешь git pull — и тебе просто пизда. Конфликты на пустом месте, история разъебалась, и ты нихуя не понимаешь, что откуда взялось. Коллеги тебя просто живьём сожрут, и будут правы, пидарасы шерстяные.

Так что правило простое, блядь: для общих веток — ни-ни, ни хуя, ни грамма. Только для своих. И даже для своих лучше --force-with-lease юзать — он хоть проверит, что пока ты тут умничал, кто-то другой тебе в ветку ничего не залил. А то будет обидно: force-нул, а там уже чьи-то труды накрылись медным тазом.

Короче, инструмент охуенный, но волшебная кнопка «ебануть всё к чертям» всегда должна быть под замком. И мозгом.