1. ホーム
  2. git

[解決済み] Git - 歴史からコミットを削除する

2022-03-07 17:34:46

質問

私は非常に愚かなことをしました。自分のコードに呪いの言葉を入力し、そのコードをmasterブランチにプッシュしてしまったのです。その後、人々が悪いものをプルしないように何度かプッシュしたのですが、コミット履歴でまだ呪いの言葉を見つけることができます。

履歴からコミットを削除する方法はありますか?編集:そのファイルが必要なので、gitignoreに追加したくありません。

ありがとうございます

解決方法は?

ローカルPCにしかない場合(または、誰もあなたの変更をチェックしていない場合)。

  1. 使用してください。
    git log
    
    

をクリックして、削除したいコミットを探します。ハッシュ(e8348ebe553102018c...のような長いスクエアー)をコピーします。

  1. 使用してください。
    git rebase -i [hash]~
    
    : for example
    git rebase -i e8348~
    
    

不要なコミットを削除して保存すればOKです。

対話的な git rebase では、壊れたコミットを修正することもできます - 削除する必要はありません。

もしあなたがサーバーに変更をプッシュした場合、あるいは誰かがあなたの変更をすでに取得していた場合、決して履歴を変更しないでください - それはあなたのチームに深刻な問題を引き起こします。