1. ホーム
  2. git

[解決済み] git を使ってプッシュしたコミットを取り消すにはどうしたらいいですか?

2022-03-20 08:50:36

質問

私はリモートリポジトリにプロジェクトを持ち、ローカルリポジトリ(開発)およびサーバーリポジトリ(prod)と同期しています。私はすでにリモートにプッシュされ、サーバーからプルされたいくつかのコミットされた変更を行っています。今、私はそれらの変更を元に戻したいと思っています。そこで、私はちょうど git checkout を変更前のコミットに戻し、新しい変更をコミットするのですが、再度リモートにプッシュするのは問題があるかと思います。私はどのように進めるべきか、何か提案はありますか?

解決方法は?

で個々のコミットをリバートすることができます。

git revert <commit_hash>

これは、指定されたコミットの変更を取り消す新しいコミットを作成します。このコミットは特定のコミットのみを取り消し、それ以降のコミットは取り消さないことに注意しましょう。もしある範囲のコミットを取り消したいのなら、このようにします。

git revert <oldest_commit_hash>..<latest_commit_hash>

の後にあるすべてのコミットを取り消します。 <oldest_commit_hash> までと、それを含む <latest_commit_hash> . git のいくつかのバージョンでは、この機能は <oldest_commit_hash> そのため、そのコミットが元に戻されるかどうかを再確認してください。最新のリバートコミット (最古のコミットを取り消す) を g reset --hard HEAD~ .

コミットのハッシュを知るには、以下のようにします。 git log .

を見てください。 git-revert のマニュアルページ の詳細については git revert コマンドを使用します。また、以下をご覧ください。 この答え は、コミットの取り消しに関する詳細な情報を提供します。