Чтобы удалить коммиты из репозитория GitHub, типичным советом является локальное удаление фиксации (например, через git rebase -i
) и принудительное нажатие на измененную ветку над исходной удаленной веткой .
Однако, если рассматриваемая удаленная ветвь является частью запроса на извлечение, GitHub теперь услужливо отображает сообщение
<user>
принудительно вытолкнул ветку <remote_branch>
из <old-commit>
на <new-commit>
и отображает ссылку для просмотра различий между <old-commit>
и <new-commit>
.(Это, кажется, недавнее изменение, я не помню, чтобы когда-либо встречал это сообщение раньше.)
Согласно другому ответу здесь , GitHub должен периодически удалять коммиты, на которые больше не ссылаются.Но так как они ссылаются на старый коммит в своем пользовательском интерфейсе, я подозреваю, что они сохранят его.(Я не видел эту явно новую функцию достаточно долго, чтобы быть уверенной, и пока не нашел официального упоминания о ней.)
Возможно ли удалить удаленную фиксацию таким образом, чтобы другие пользователи не могливидя, что совершить?Или, по крайней мере, возможно удалить сообщение выше со страницы обсуждения PR?Есть ли какой-либо другой способ изменить содержимое основной ветви PR, чтобы у всех не было доступа к старым коммитам со страницы PR (по крайней мере, если они не знают хеш коммита)?
(Этот вопросне об удалении конфиденциальной информации, такой как пароли - я знаю, что они должны считаться скомпрометированными, независимо от возможности впоследствии удалить коммит.