Изменение информации об авторе коммита github

GitHub недавно внес изменения, чтобы прекратить использование некоторых общих доменов, что означало, что фиктивный адрес электронной почты, который я использовал для коммитов (чтобы сохранить мой фактический адрес электронной почты в тайне), больше не был правильным для подсчета вкладов.

В справке на GitHub мне сказали использовать этот https://help.github.com/articles/change-author-info в моем локальном клоне, чтобы изменить информацию об авторе для предыдущих коммитов, что я должным образом сделал в Git Bash..., который прошел переписывание, и сообщил мне, что `Ref 'refs/heads /master' был переписан.

Что теперь? Я совершаю/нажимаю? В репозитории нет изменений, и репозиторий Github не изменился....


person Toby    schedule 18.02.2014    source источник
comment
Если вы запустите git log, будут ли коммиты содержать новое письмо?   -  person Peter Foti    schedule 18.02.2014
comment
это только ваш проект или это публичный проект?   -  person Mohammad AbuShady    schedule 18.02.2014
comment
@PeterFoti Да, электронные письма изменены.   -  person Toby    schedule 18.02.2014
comment
@MohammadAbuShady Это общедоступно github.com/wolf99/SCPI_Build   -  person Toby    schedule 18.02.2014
comment
Вы должны понимать, что благодаря этому изменению ваша ветка больше не является коммитом с быстрой перемоткой вперед, и для ее отправки вам нужно перезаписать всю удаленную ветку (или, по крайней мере, начиная с самой старой фиксации, которая содержала вашу старую электронную почту), если вы запускаете какой-то визуальный такой инструмент, как gitk, вы увидите. сколько измененных коммитов сообщает git status?   -  person Mohammad AbuShady    schedule 18.02.2014
comment
Хорошо, у моей ветки 241, а у источника/мастера 240. Должен ли я pull исправить или это перезапишет изменения автора?   -  person Toby    schedule 18.02.2014
comment
Итак, я запустил сценарий, сделал git pull, затем git push, и, похоже, это сработало, как и предполагалось. Как указано в stackoverflow.com/a/16900329/1292918, существует резервная копия истории в refs/original, которая хранится можно избавиться после выполнения упражнения.   -  person Toby    schedule 18.02.2014
comment
@MohammadAbuShady Если вы хотите сделать свой комментарий ответом, я приму его. Спасибо.   -  person Toby    schedule 18.02.2014
comment
это как-то не логично для меня, сколько коммитов у вас сейчас после вытягивания?   -  person Mohammad AbuShady    schedule 18.02.2014
comment
Я только что проверил, и, как я и ожидал, количество ваших коммитов удвоилось, ваши старые коммиты все еще существуют, у вас все в порядке с их сохранением?   -  person Mohammad AbuShady    schedule 18.02.2014
comment
@MohammadAbuShady Что мне делать, чтобы избавиться от старых коммитов?   -  person Toby    schedule 20.02.2014
comment
хорошо, если вас не волнует ваша история, я думаю, вам следует принудительно нажать и перезаписать дерево   -  person Mohammad AbuShady    schedule 20.02.2014


Ответы (2)


Толчок силы был ответом, как указал @MohammadAbuShady

person Toby    schedule 01.10.2014

Создайте новую ветку и выполните эту командную строку (будьте осторожны с этой командой, подробнее здесь: https://git-scm.com/docs/git-filter-branch):

git filter-branch -f --env-filter "GIT_AUTHOR_NAME='your name'; GIT_AUTHOR_EMAIL='[email protected]'; GIT_COMMITTER_NAME='your name'; GIT_COMMITTER_EMAIL='[email protected]';" HEAD

После этого опубликуйте новую ветку и при необходимости измените новую ветку на основную ветку (если вы одиноки в проекте).

person Filipe Piletti Plucenio    schedule 09.07.2021