Я пытаюсь изменить все сообщения коммита и мне нужно заменить указанную строку c пустым пробелом. Как я могу это сделать?
Я пытался:
git filter-branch --msg-filter 'sed "s/SOMESTR-/ /g"' -- --all
Но я получил это сообщение:
WARNING: You said to rewrite tagged commits, but not the corresponding tag.
WARNING: Perhaps use '--tag-name-filter cat' to rewrite the tag.
Означает ли это, что это сработало?
И после того, как я заменил все коммиты, мне нужно снова сделать pu sh на удаленном компьютере, чтобы обновить все коммиты?
РЕДАКТИРОВАТЬ: я сделал git log, и кажется, что сообщения о коммитах обновлены,
поэтому я полагаю, что мне просто нужно git pu sh -f?
ОБНОВЛЕНИЕ : мне удалось удалить префикс SOMESTR-
в сообщениях фиксации. Затем я принудительно нажал на master и увидел, что все сообщения коммита обновлены. Однако мне также необходимо обновить другие ветви и заменить тот же префикс пробелом.
Когда я переключился на другую ветку, я выполнил ту же команду
git filter-branch --msg-filter 'sed "s/SOMESTR-/ /g"' -- --all
и это что-то говорило о силе. Я добавил -f в ветку filter, затем применил еще одну силу pu sh к этой ветке.
Cannot create a new backup.
A previous backup already exists in refs/original/
Force overwriting the backup with -f
Запрос на получение показывает, что сообщения коммита по-прежнему имеют префикс SOMESTR-/
, но когда я делаю git log
, я вижу две версии одного и того же коммита, один без префикса, а другой с ним. Можно ли набрать sh и объединить запрос на удаление, даже если в сообщении о фиксации все еще отображается необработанный префикс?