#git #git-merge #rebase #git-commit #git-rewrite-history
#git #git-слияние #перебазирование #git-commit #git-перезапись-история
Вопрос:
Я новичок в перебазировании git и делаю что-то немного дурацкое и глупое. Итак, допустим, у меня есть эти коммиты, которые все изменяют один и тот же файл file.txt
a -> b -> c -> d -> e
Я хочу просто удалить фиксацию c
.
Моя стратегия для этого — перебазировать b
d
, сохранив d
изменения, чтобы они читались так
a -> b -> d -> e
Я пытаюсь сделать это с помощью этой команды
git rebase --rebase-merges --onto c^ c
Это приводит к неудачному слиянию, я также пробовал это, -s ours
но это также не удалось.
Однако это работает, когда каждый коммит изменяет другой файл.
Что я должен сделать, чтобы достичь этой цели?
Ответ №1:
В этом случае вы почти наверняка столкнетесь с конфликтом, потому что конфликт действительно существует, и нет способа избежать решения этой проблемы. Вам придется разрешить конфликт , а затем бежать git rebase --continue
.
Это работает, когда каждый коммит изменяет другой файл, потому что коммиты, которые касаются разных файлов, обычно не конфликтуют (если нет переименования или копирования).
Комментарии:
1. Бах! Хорошо, это отслеживает. Я хочу запустить это автоматически в скрипте, но это сработает