Как удалить личную электронную почту из коммитов git после объединения PR?

На GitHub я успешно открыл PR в общедоступном репозитории, который недавно был объединен:

My Pull Request (#25)
* Feature 1
* Feature 2
* Bump version

---------

Authored-by: My Username <[email protected]>

Моя проблема в том, что мой личный адрес электронной почты теперь общедоступен, чего я совершенно не хочу.

Есть ли способ как-то это скрыть?

До сих пор я пробовал:

  • Сделайте мою электронную почту конфиденциальной в настройках GitHub
  • Пробовал git config --global user.email "[email protected]"

БОНУС: я читал, что, возможно, amend может помочь, но процедура мне все равно не ясна. Будет ли это работать даже при редактировании информации из уже объединенных коммитов?

Наконец, имеют ли сопровождающие общедоступного репозитория право изменять такую ​​отображаемую информацию?

Вы делаете копию физического письма. Оригинал вы отправляете в Алматы, Казахстан. Вы можете изменить копию по своему усмотрению. Вы не можете изменить то, что написали в исходном письме.

Guildenstern 22.05.2024 10:32
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
143
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Да, amending мог бы помочь в общем случае, но, наверное, не здесь.

Поскольку он был объединен, вам нужно будет попросить владельцев репозитория внести в коммит слияния другие метаданные и принудительно отправить основную ветку.

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

имеют ли сопровождающие общедоступного репозитория право изменять такую ​​отображаемую информацию?

Как обсуждалось выше, они имеют право изменять коммиты в своем репозитории, где хранятся эти данные, но любые клоны этого репо по-прежнему будут иметь старые данные.

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

Peter - Reinstate Monica 22.05.2024 09:42

Я успешно внес изменения в свои коммиты в своей ветке, обновив свой адрес электронной почты знаком .noreply. Как и ожидалось, итоговое PR-сообщение осталось неизменным.

Nauel 22.05.2024 10:27

Ветка не имеет значения, поскольку она уже объединена. Если бы изменения в ваших личных ветках повлияли на объединенную историю, это была бы катастрофа для всех.

AKX 22.05.2024 11:30

Да, и, глядя на рассматриваемый коммит, это коммит сквош-слияния (кстати, это строка Co-authored-by: в сообщении коммита), поэтому ваши исходные коммиты вообще не имеют значения.

AKX 22.05.2024 11:34
Ответ принят как подходящий

Как удалить личную электронную почту из коммитов git

Ты не сможешь это сделать.

Git позволяет вам писать новые коммиты и перенавешивать метки, чтобы метки теперь указывали на эти новые коммиты, а не на старые, это нормально, но это просто невозможно (не как авторитетная вещь, это «потому что математика» вещь), чтобы фактически изменить существующую историю. Новая история будет иметь другой идентификатор.

Итак, git commit --amend записывает новый коммит с любыми изменениями, которые вы хотите сделать, снимком, предком, сообщением и/или автором/коммиттером или метками времени, и повторно вешает метку подсказки ветки на этот новый коммит, оставляя старый в текущем репозитории. Старый коммит все еще там. Git в конечном итоге приступит к сбору мусора, если он недоступен по какой-либо другой ссылке или повторному журналу в течение достаточно долгого времени, и репозиторий смотрит на быстрые проверки Git, как будто ему не помешала бы хорошая уборка.

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

Максимум, что вы можете сделать, это попросить их отказаться от вашей ошибочно отправленной истории и надеяться, что за это время никто не загрузил ее в свои репозитории. Если у вас есть права принудительного нажатия на ветки, с которыми они объединили вашу историю, вы можете отказаться от них самостоятельно, но, например, я думаю, что GitHub ведет учет советов по PR, и я не уверен на 100% но я думаю вам понадобится личная помощь сотрудников GitHub, чтобы удалить их.

Публикация в общедоступном репозитории означает публикацию на глобально доступном размещенном сервере, явно предназначенном для глобального перераспределения. Вероятно, лучше всего относиться к этому как к «усвоенному уроку».

Ты прав, туше

Nauel 22.05.2024 17:22

Другие вопросы по теме