Изменение истории Git и работа с удаленными репозиториями?

Всем известно, что Git позволяет изменять историю коммитов с помощью команд git reset \ git rebase -i и т.п. Вопрос — почему не рекомендуется изменять историю коммитов, которые уже были отправлены в удаленный репозиторий и как отследить, что изменения были отправлены, чтобы случайно не поменять историю таких коммитов?
  • Вопрос задан
  • 3942 просмотра
Пригласить эксперта
Ответы на вопрос 2
@avorobiev
Потому, что после ребейза, даже если реально ничего не изменилось, гит создает новые коммиты, и при пуше на удаленный сервер возникнет конфликт, который можно будет решить только с помощью форс пуш.
Думаю, вам быстрее будет самому попробовать и разобраться.
Ответ написан
Комментировать
kuzemchik
@kuzemchik
причина простая, гит пересобирает все коммиты после rebase, и у них получаются других hash суммы. Грубо говоря как будто вы заново написали весь этот код в другой ветке. (С вытекающими конфликтами).
Так что rebase в большинстве случаев немного мешает работе (хотя если вас 2-3 человека и вы знаете что делаете, rebase это хорошо).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы