Как мне восстановить / повторно синхронизировать после того, как кто-то подтолкнет к перезапуску или сбросу опубликованной ветки?

Мы все слышали, что никогда не следует перебазировать опубликованную работу, что это опасно и т. Д. Однако я не видел опубликованных рецептов, как справиться с ситуацией в случае, если перебазирование равно опубликовано.

Теперь, обратите внимание, что это реально возможно только в том случае, если репозиторий клонируется только известной (и желательно небольшой) группой людей, так что тот, кто нажимает на перебазирование или сброс, может уведомить всех остальных, что им нужно будет обратить внимание в следующий раз, когда они получат ( !).

Одно очевидное решение, которое я видел, будет работать, если у вас нет локальных коммитов на foo и он будет перебазирован:

git fetch
git checkout foo
git reset --hard origin/foo

Это просто отбросит локальное состояние foo в пользу его истории в соответствии с удаленным репозиторием.

Но как поступить с ситуацией, если в этой ветке были внесены существенные локальные изменения?

84
задан Aristotle Pagaltzis 24 July 2013 в 01:39
поделиться