Проблема с изменением конфигурации Git: не удается отправить коммит из-за приема на стороне сервера

Я сделал Git Commit, а затем мне пришлось внести некоторые изменения в конфигурацию (в частности, конфигурацию, связанную с электронной почтой). Таким образом, моя организация, похоже, добавила некоторый хук/проверку предварительной фиксации, которая проверяет, что адрес электронной почты должен соответствовать определенному значению.

Теперь я обновил электронное письмо до ожидаемого значения и сейчас пытаюсь нажать. Однако я все еще получаю сообщение об ошибке (также показывает более раннее/старое значение); Неверный адрес электронной почты для коммитов

Если я зайду в Tortoise Git › Settings и нажму Edit global .gitconfig, я увижу обновленное значение

If I do

git config --list

из папки моего проекта (откуда я пытаюсь нажать) я вижу, что он имеет обновленное значение. Также проверил .gitconfig в нескольких других местах (Документы), и он также имеет обновленное значение. Мой вопрос в том, почему Git видит старое значение, а не обновленное значение, когда я пытаюсь нажать.

P.S. В основном я использую TortoiseGit, но я также пытался запустить команду git push вручную с той же проблемой.


person copenndthagen    schedule 28.06.2020    source источник
comment
Я думаю, вы получаете ошибки для старых коммитов, которые вы нажимаете. Возможно, проверьте в журнале электронную почту для всех коммитов (вы можете добавить столбец электронной почты в журнал в tortoisegit)   -  person Julian    schedule 28.06.2020


Ответы (1)


Ваша компания использовала не хук фиксации, а хук получения на стороне сервера.

Ваш адрес электронной почты хранится в качестве метаданных для всех ваших коммитов, и каждый раз, когда вы пытаетесь отправить новые коммиты на свой сервер, эти метаданные проверяются.

Единственный способ изменить эти метаданные (для ваших неотправленных коммитов) — это выполнить ребазинг.

Для этого откройте диалоговое окно журнала, выберите последний отправленный коммит и выберите Rebase on this commit. В диалоговом окне переустановки выберите принудительно (поскольку вы хотите изменить эту историю в той же ветке) и отметьте все коммиты как «Редактировать». Запустите перебазирование и нажмите «Изменить/разделить фиксацию». - При фиксации выберите «Установить автора» в диалоговом окне фиксации и поместите туда свои текущие данные.

person MrTux    schedule 28.06.2020
comment
@testndtv Пожалуйста, отметьте / примите этот ответ, если он вам помог, или оставьте комментарий о том, чего еще не хватает. - person MrTux; 18.12.2020