#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. Выполняется интерактивная перебаза, и вы обнаружите, что нежелательный коммит исчез: