定期的に Git を使用する開発者にとって、履歴の操作は非常に一般的です。実際、開発者は多くの場合、Git 履歴からコミットを削除する必要があります。幸いなことに、Git にはこの操作を可能にする多くのコマンドが用意されています。 さあ、いきましょう😎。 ステップ 0 - 準備 Git 履歴を操作する前に、 コマンドを使用して、作業ディレクトリに変更がないことを確認してください。 git status ステップ 1 - コミットをローカルで削除する リモート サーバーからコミットを削除するには、まずローカル履歴からコミットを削除する必要があります。 1.1 上から連続コミットする場合 削除するコミットがコミット履歴の先頭にある場合は、 オブジェクトと削除するコミットの数を指定して コマンドを使用します。 HEAD git reset --hard git reset --hard HEAD~1 このコマンドは を削除します。 最新のコミット git reset --hard HEAD~3 このコマンドは、 を削除します。 最新の 3 つのコミット 次のように、コミットのハッシュを使用して特定のコミットまでを削除することもできます。 git reset --hard <hash> 1.2 非連続コミットの場合 ただし、連続しないコミットを削除したい場合は、対話型リベースを使用する必要があります。 コマンドを使用して、削除するすべてのコミットを含む最後のコミット ハッシュを見つけます。 [ ] git reflog で対話型リベースを開始します。 [ ] git rebase -i <hash> 編集画面で、削除するコミット行を見つけて削除します。 [ ] 保存して終了します (競合を解決する必要がある場合があります) [ ] 使用して対話型リベースを終了するか、 て最初からやり直します。 [] git rebase --continue リベースを中止し ステップ 2 - リモートからコミットを削除する リモートからコミットを削除するには、 コマンドを使用してローカルの変更をリモートにプッシュする必要があります。 git Push git push origin HEAD --force ローカル履歴はリモート履歴とは異なるため、 オプションを使用する必要があります。 force 最終的な考え ご覧のとおり、Git を使用すると、リモート サーバーからコミットを簡単に削除できます。 ただし、注意しないと進行状況が失われる可能性があるため、 オプションを指定して コマンドを使用する場合は注意が必要です。 force git push 読んでくれてありがとう!