0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.

Posted at

事象 : 2つめのコミットをリセットしようとしたら失敗した

# 1. プシュっていないコミットが2つあって、2つともコミットを取り消したい
$ git log origin/master..master
Merge: 45... 89...
Author: macOS <ponsuke@example.com>
Date:   Fri Jan 22 21:26:17 2021 +0900

    Merge branch 'master' of https://github.com/{ユーザ}/{リポジトリ} into master

commit 45...
Author: macOS <ponsuke@example.com>
Date:   Fri Jan 22 20:35:04 2021 +0900

    こみっとこめんと

# 2. 1つ取り消して・・・
$ git reset --soft HEAD^

# 3. もう1つも取り消そうとしたら
$ git log origin/master..master
commit 45... (HEAD -> master)
Author: macOS <ponsuke@example.com>
Date:   Fri Jan 22 20:35:04 2021 +0900

    こみっとこめんと

# 4. 怒られた
$ git reset --soft HEAD^
fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

原因 : HEAD^のってどれのことやねん!という状態

「えっ?一個前のコミット・・・」

# HEADを確認したら・・・
$ git reflog
45ea498 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
d5f1e7f HEAD@{1}: pull --allow-unrelated-histories: Merge made by the 'recursive' strategy.
45ea498 (HEAD -> master) HEAD@{2}: commit (initial): こみっとこめんと

対応 : HEADを使わないでどこまでリセットしたいかちゃんと伝える

# 1. originまで戻してね
$ git reset --soft origin/master

# 2. プシュしてないコミットは無くなりました。
$ git log origin/master..master
$

複数のコミットはいっきに取り消しましょう、面倒です。

コミットを指定するときに、~(チルダ)と^(キャレット)を使ってあるコミットからの相対位置で指定することもできます。この時に、よく使われるのがHEADです。~(チルダ)を後ろに付け加えることで何世代前の親かを指定することができます。^(キャレット)は、ブランチのマージで親が複数ある場合に、何番目の親かを指定することができます。
ブランチの切り替え|サル先生のGit入門【プロジェクト管理ツールBacklog】

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?