Сохранять git заметки при переписывании истории с веткой git filter

По некоторым причинам я должен переписать всю историю моего git-репозитория, чтобы изменить committer_id каждого коммита. Тем не менее, я прикрепил примечание к более или менее каждому коммиту и используя git-filter-branch для изменения committer_id будет логически создавать новые коммиты, оставляя заметки позади. Есть ли способ скопировать заметки в соответствующий им новый коммит?

Эта ветка, похоже, задает похожие вопросы, но в 2011 году не получила решения.

Спасибо за помощь!

1 ответ

Проблема, вероятно, в том, что git-notes нужна дополнительная настройка, чтобы работать так, как вы этого хотите. Вам, вероятно, нужна эта переменная конфигурации

git config notes.rewriteRef refs/notes/commits

Из документации: https://git-scm.com/docs/git-notes:

GIT_NOTES_REWRITE_REF

При переписывании коммитов какие ноты копировать из оригинала в переписанный коммит. Должен быть список ссылок или глобусов, разделенных двоеточиями.

Если не установлен в среде, список копируемых заметок зависит от notes.rewrite. и notes.rewriteRef.

По сути, Git должен иметь разрешение на перенос заметок из оригинальных коммитов в новые, которые вы переписываете. Вы также можете увидеть этот поток Stackru для более подробного объяснения:

Есть ли способ автоматического объединения заметок, если коммиты для этих заметок раздавлены?

Другие вопросы по тегам