Как отключить средний коммит от git с помощью Sourcetree?

#git #commit #atlassian-sourcetree

#git #фиксация #atlassian-sourcetree

Вопрос:

У меня большой проект. У меня есть ветка, коммиты которой структурированы следующим образом:

 e 

d

c pod updated successfully with this commit

b

a
 

Я хочу отменить изменения, внесенные в c commit, чтобы я мог продолжить свой путь с необновленными модулями:

 e

d

b

a
 

Итак, каков самый простой способ использования Sourcetree? Я не очень разбираюсь в Git, пожалуйста, подскажите мне простой способ.

Комментарии:

1. Создайте ветку в c и работайте над ней. Откуда взялся этот термин pod ? Это не связано с git.

2. @fredrik это имя коммита

3. @fredrik создание b — это нормально, тогда я выбираю один за другим d и e? Я хочу опустить только c commit, revert работает?

4. У коммитов нет имен, у них есть сообщение, SHA и, возможно, есть тег, указывающий на них. Возможно, ветвь, указывающая на последнюю в последовательности.

5. Revert создаст новую фиксацию c' , которая является обратной c, но она удалит изменения, внесенные c

Ответ №1:

Вы хотите выполнить интерактивную перебазировку, в которой вы удаляете коммит c .

Я продемонстрирую упрощенный эскиз, содержащий всего три коммита, a, b и c, и я удалю средний коммит, commit b .

Здесь у нас есть коммиты a, b и c:

введите описание изображения здесь

Управление-нажмите на фиксацию a и запросите интерактивную перебазировку:

введите описание изображения здесь

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

введите описание изображения здесь

Теперь нажмите OK. Выполняется интерактивная перебаза, и вы обнаружите, что нежелательный коммит исчез:

введите описание изображения здесь