Краткий обзор: конфликты возникли, когда Git пытался скопировать существующий коммит, строка темы которого:
RM debugger
То есть, во время git rebase
, который работает путем копирования некоторых серий коммитов в новый- и улучшенные коммиты, которые делают то же самое, что и оригиналы, за исключением некоторого улучшения (например, находясь на другой исходной базовой фиксации), Git попытался скопировать этот коммит и получил некоторые конфликты слияния.Таким образом, перебазирование остановлено, когда RM debugger
еще не применено.
Затем вы проделали некоторую работу в своем дереве индекса и работы для разрешения этих конфликтов, включая git add
в конце.Затем вы запустили git rebase --continue
.
Это сообщение:
$ git rebase --continue
Applying: RM debugger
No changes - did you forget to use git add?
не означает, что конфликты .Это означает, что исходный код в вашем индексе, готовый для принятия в качестве новой и улучшенной копии RM debugger
, будет точно таким же , что и исходный код в вашем существующем коммите dc04ac4
(improve warning
), который сам является копией некоторого старого коммита, тема которого уже была improve warning
.
Git не любит делать коммиты, которые повторяют один и тот же исходный код.(Git называет эти пустыми коммитами , хотя они вовсе не пустые, они просто повторяются.) Это настолько не нравится, что git rebase
отказывается делать это вообще по умолчанию, в том числе послевы разрешили любые конфликты.
Иногда это признак того, что вы решили конфликт неправильно: вы случайно отменили изменение.Но, возможно, - это , что нужно сделать.
Если в данный момент правильно сделать, то отбросить исходный коммит полностью - если не требуется никаких измененийтеперь, потому что новая база для новых и улучшенных коммитов не нуждается в исправлении - просто запустите:
git rebase --skip
, чтобы сообщить Git: Этот коммит не должен быть скопирован после всех.
Если вам действительно нужен пустой коммит, вы можете вручную зафиксировать его самостоятельно, используя git commit --allow-empty
, а затем git rebase --continue
для продолжения.