Gitで最後のコミットをアンコミットする方法 [重複] 質問する

Gitで最後のコミットをアンコミットする方法 [重複] 質問する

Git で最後のコミットをアンコミットするにはどうすればいいですか?

それは...ですか

git reset --hard HEAD

または

git reset --hard HEAD^

?

ベストアンサー1

「uncommit」の意味がよくわからず、 を使用するかどうかわからない場合はgit reset、「以前の Git コミットに戻す「」。

もっと詳しく知りたい場合はgit reset、「「git reset」が何をするのかを平易な英語で説明していただけますか?「」。


を使用することが分かっている場合git reset、「uncommit」の意味によって異なります。コミット操作を取り消して、他のすべてをそのままにしたい場合は、次を使用します。

git reset --soft HEAD^

コミット操作とステージングしたすべてのものを元に戻したいが、作業ツリー (ファイル) はそのまま残したい場合は、次のようにします。

git reset HEAD^

そして、実際にそれを完全に元に戻したい場合コミットされていない変更をすべて破棄し、すべてを前のコミットにリセットします(元の質問のとおり)。

git reset --hard HEAD^

元の質問では、 ではHEAD^ないとも尋ねられていますHEADHEADは現在のコミット、つまり、現在チェックアウトされているブランチの先端を指します。 は、任意のコミット指定^に添付できる表記法で、「前のコミット」を意味します。つまり、 は現在のコミットの前のコミットであり、 はマスター ブランチの先端の前のコミットです。HEAD^master^

こちらはgit-rev-parse ドキュメントコミットを指定する方法をすべて説明します (^これは、数多くある方法の中の基本的な方法の 1 つにすぎません)。

おすすめ記事