Причина в том, что git rebase
изменяет объекты фиксации.Таким образом, хотя фактическое содержимое (или diff) одинаково с этими переназначенными коммитами, они ссылаются на другого родителя и поэтому различаются.
Таким образом git branch -d
не может проверить, что изменения этих коммитоввключены в некоторые другие коммиты.Вам нужно использовать git branch -D
(верхний регистр D
) для принудительного удаления, затем.
На примечании стороны: git svn dcommit
имеет тот же эффект, что и перебазировка.Когда dcommit
отправляет коммиты на сервер SVN, он снова получает коммиты с сервера SVN.Таким образом, вы получите объекты, отличные от тех, которые вы нажали .Хотя они могут быть идентичными по содержанию (если только у вас не было конфликтов), они все же различаются (основная причина в том, что git svn
добавляет строку к сообщению фиксации, в которой указывается версия SVN, к которой относится фиксация).