Недавно я заменил автора, коммиттера и их адреса электронной почты во всех моих локальных коммитах, используя следующую команду:
git filter-branch -f --env-filter '
if [ "$GIT_COMMITTER_NAME" = "oldname" ];
then
GIT_COMMITTER_NAME="newname";
GIT_COMMITTER_EMAIL="newaddr";
GIT_AUTHOR_NAME="newname";
GIT_AUTHOR_EMAIL="newaddr";
fi
if [ "$GIT_AUTHOR_NAME" = "oldname" ];
then
GIT_COMMITTER_NAME="newname";
GIT_COMMITTER_EMAIL="newaddr";
GIT_AUTHOR_NAME="newname";
GIT_AUTHOR_EMAIL="newaddr";
fi
' -- --all
Обновления сразу видны локально (например, в моей среде SourceTree). Однако после принудительного размещения измененного репозитория на GitHub…
git push -f origin master
… два отдельных элемента упорно отказываются обновлять своих коммиттеров и авторов: файл Gemfile.lock и каталог Views.
Также обратите внимание, что:
Это второй раз, когда я выполняю такого рода операции в этом репозитории. Я считаю, что я не столкнулся с такими проблемами в первый раз.
Поиск моего старого имени в хранилище…
$ find . "<старое имя">
… действительнодает множество результатов, а это означает, что старое имя все еще скрывается во многих файлах репозитория, включая файлы, которые отображаются как обновленные как на GitHub, так и локально.
Тогда мой вопрос: как я могу изменить коммитера/автора двух "упрямых" файлов на GitHub?