Первое: удаление коммитов означает, что вы хотите изменить историю.Это может быть проблематично, если вы работаете с другими людьми в общем хранилище и уже внес свои изменения.- Либо вы делаете этот откат, как описано в следующем тексте, и принудительно нажимаете (тогда вы, сотрудники, должны отрегулировать свою локальную историю вручную после извлечения), либо вы отменяете коммиты (опция revert change by this commit
) и проталкиваете эти изменения (возврат нормальныйкоммит, который отменяет изменения и будет автоматически применен к вашим соавторам при извлечении).
Если вы действительно хотите откатить все изменения, самый быстрый способ - выполнить «полную перезагрузку» ревизии, которую выхотите вернуться к (тогда история и все файлы в рабочем дереве откатятся до состояния этой ревизии, другие коммиты будут отброшены, как если бы их никогда не было).
Если вы хотите сохранитьодин или несколько коммитов в истории, вы должны пойти на операцию перебазирования.Выберите фиксацию в диалоговом окне журнала, которая должна быть основой для «новой» истории, и выберите «перебазировать в эту ревизию».Затем пометьте все коммиты, которые вы хотите отбросить, и пропустите и выполните ребазинг.
ср.https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html#tgit-dug-showlog-actions и https://tortoisegit.org/docs/tortoisegit/tgit-dug-rebase.html
(Ваша попытка выполнить «Switch» звучит так, как будто у вас есть SVN-фон; switch / checkout в Git в общем означает, что вы хотите переключиться на существующую веткуили создайте новую ветку).