Я предполагаю, что вы все еще спрашиваете о той же ситуации, что и в вашем предыдущем вопросе . То есть master-new не будет содержать master-old в своей истории. * Если вы называете master-new «master», у вас будет фактически переписанная история. Не имеет значения , как вы попадаете в состояние, в котором мастер не является потомком предыдущей позиции мастера, просто то, что он находится в этом состоянии.
У других пользователей, пытающихся вытянуть, пока мастер не существует, просто не получится тянуть их (нет такой ссылки на пульте дистанционного управления), и как только он снова появится в новом месте, их тяги будут пытаться объединить своего мастера с новым удаленный мастер, как если бы вы объединили master-old и master-new в своем хранилище. Учитывая то, что вы пытаетесь сделать здесь, слияние может привести к конфликтам. (Если бы они были решены, а результат был перенесен обратно в хранилище, вы оказались бы в еще худшем состоянии - там есть обе версии истории.)
Чтобы ответить на ваш вопрос просто: вы должны признать, что иногда в вашей истории будут ошибки. Это нормально. С кем не бывает. В репозитории git.git есть отмененные коммиты. Важно то, что как только мы публикуем историю, это то, что каждый может доверять.
* Если бы это было так, это было бы равносильно внесению некоторых изменений в мастер, а затем созданию новой ветви, где она была раньше. Нет проблем.