Мерзавец: удалите единственный удаленный пересмотр

Я начал переключать свои частные проекты подверсии на мерзавца (GitHub) и опубликовываю код. Поэтому я - новичок мерзавца.

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

Существует ли способ полностью стереть тот конкретный пересмотр из удаленного репозитория мерзавца? Это - сольный проект, таким образом, никто не пострадает от операции.

6
задан dgraziotin 14 February 2010 в 12:30
поделиться

1 ответ

Сообщение, расположенное здесь , решило мою проблему.

Если коммит, который вы хотите исправить, не самый последний:

  1. git rebase --interactive $ parent_of_flawed_commit

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

  2. Появится редактор со списком всех коммитов, начиная с того, что вы дали.

    1. Измените pick на edit перед любыми коммитами, которые вы хотите исправить.
    2. После сохранения git воспроизведет перечисленные коммиты.
  3. Git будет возвращаться в оболочку для каждой фиксации, которую вы сказали, что хотите отредактировать:

    1. Измените фиксацию любым способом.
    2. git commit --amend
    3. git rebase --continue

Большая часть этой последовательности будет объяснена вам по мере выполнения различных команд. Это очень просто, вам не нужно запоминать это - просто помните, что git rebase --interactive позволяет исправлять коммиты независимо от того, как давно они были.

3
ответ дан 17 December 2019 в 18:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: