リモート Git リポジトリから最後のコミットを削除する 質問する

リモート Git リポジトリから最後のコミットを削除する 質問する

ログに表示されなくなるように、リモート Git リポジトリから最後のコミットを削除するにはどうすればよいですか?

例えば、git log次のようなコミット履歴が返ってきたら

A->B->C->D[HEAD, ORIGIN]

どうすれば行けますか

A->B->C[HEAD,ORIGIN]

ベストアンサー1

これによって、リモート リポジトリから既にフェッチ/プル/クローンした人にとっては「別の現実」が生まれることに注意してください。しかし、実際には非常に簡単です。

git reset HEAD^ # remove commit locally
git push origin +HEAD # force-push the new HEAD commit

ローカル リポジトリに残しておき、リモートからのみ削除する場合は、次のようにします。

git push origin +HEAD^:"$name_of_your_branch" # e.g. +HEAD^:master

一部のシェルは^文字を解釈します。そのようなシェルの場合は、引用符/エスケープするか、 を使用します~

HEAD\^
'HEAD^'
HEAD~

おすすめ記事