2016-07-26 7 views
0

Мне нужно обновить все мои предыдущие коммиты, чтобы отразить изменение моего имени пользователя.Использование Git filter-branch для переименования автора и коммиттера нескольких ветвей, включая теги

Это необходимо сделать для всех ветвей, а также выполнить все мои теги. Я единственный коммиттер, и все это делается только в моем местном репо.

Используя многочисленные источники здесь я пришел в команду

git filter-branch --env-filter "GIT_AUTHOR_NAME='new_name'; GIT_COMMITTER_NAME='new_name';" --tag-name-filter cat -f -- --all 

, который, казалось, сделать трюк, но

git log --all --graph 

показывает, что вместо того, чтобы перезаписать теперь у меня куча больше филиалов ..

Я пропустил что-то из моего вышеприведенного фрагмента или мне также нужно запустить какую-либо команду очистки?

ответ

1

Если вы имеете в виду резервные копии в refs/original, вы можете легко удалить те, с помощью команды вы найдете на странице помощи по git-filter-branch: git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d