Нужно ли создавать новую ветку в Git, если я должен откатить изменения? - PullRequest
0 голосов
/ 21 сентября 2018

Я Commited (назовите это Оригинал).Затем я сделал кучу изменений.Теперь я хочу просто откатить их назад.

Итак, я делаю Switch / Checkout.Но мне интересно , если (и почему) мне нужно создать новую ветвь (опция по умолчанию).

enter image description here

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

см. Документацию ... в том графическом интерфейсе, который называется revert change by this commit:

Отменить изменения, внесенные в выбранную ревизию.Все изменения интегрированы в ваше рабочее дерево.Вы можете принять решение немедленно или отредактировать и подтвердить позже.Чтобы отказаться от отмененных изменений, выполните полный сброс.

0 голосов
/ 21 сентября 2018

Первое: удаление коммитов означает, что вы хотите изменить историю.Это может быть проблематично, если вы работаете с другими людьми в общем хранилище и уже внес свои изменения.- Либо вы делаете этот откат, как описано в следующем тексте, и принудительно нажимаете (тогда вы, сотрудники, должны отрегулировать свою локальную историю вручную после извлечения), либо вы отменяете коммиты (опция 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 в общем означает, что вы хотите переключиться на существующую веткуили создайте новую ветку).

...