リモートブランチからチェックアウトできない

現象:

リモートブランチ origin/master から my_branch を作成する。

$ git checkout -b my_branch origin/master

ブランチが作成できない旨のエラーが発生する。

fatal: 'origin/master' is not a commit and a branch 'my_branch' cannot be created from it

原因:

リモートブランチの情報がフェッチされていない。

対処法:

リモートブランチの一覧を確認して、origin/master がリモートブランチとして存在するか確認する。

$ git branch -r

origin のブランチ情報を最新の状態に更新する。

$ git fetch --prune origin

参考:

リモートブランチをローカルにチェックアウトしようとするとエラーになる場合の対処法 | Reasonable Code

refname is ambiguous

現象:

参照が曖昧である旨の警告が発生する。

warning: refname 'xxx' is ambiguous.

原因:

同じ名称で参照できるブランチやタグ、コミットなどが存在する。

対処法:

不要なタグやブランチを削除する。

参考:

Git で warning: refname ‘○○’ is ambiguous. 表示時の対処法 | iwb.jp

Git コマンドでブランチ名に問題があるときのエラー | gotohayato.com

refname ‘master’ is ambiguous – Stack Overflow

warning: refname ‘HEAD’ is ambiguous – Stack Overflow

ambiguous argument ‘HEAD’ エラー

現象:

HEAD が曖昧な引数である旨のエラーが発生する。

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

原因:

最初にコミットする前に HEAD を参照しようとした。

対処法:

  • 最初に必要なコミットを実行する。
  • git add を取り消す場合は、git rm --cached -- path/to/file あるいは、引数なしで git reset を実行する。

参考:

fatal: ambiguous argument ‘HEAD’: unknown revision or path not in the working tree. となった時の対応方法 – Qiita

error “fatal: ambiguous argument ‘HEAD’: unknown revision or path not in the working tree” – Stack Overflow

ブランチの乖離

[happne_]

ローカルのブランチとリモートのブランチが乖離している旨のメッセージが出力される。

Your branch and 'origin/master' have diverged,
and have AA and BB different commits each, respectively.

原因:

リモートに対して強制的なプッシュが行われた。

対処法:

ローカルまたはリモートのどちらかのブランチが不要な場合は、強制的に更新することができる。あるいは、両方の履歴が必要な場合は、マージまたはリベースを適用する。

※強制的に更新した場合、保持しなかった方のコミット履歴は失われるので注意する。

ローカルの履歴を捨てて、リモートの履歴に強制的に合わせる。

$ git fetch origin
$ git reset --hard origin/master

リモートをローカルにマージする。

$ git merge origin/master

リモートの HEAD の先に、ローカルの変更をリベースする。

$ git rebase origin/master

リベースは git pull コマンドに --rebase オプションを付与して実行できる。

$ git pull --rebase

参考:

「Your branch and ‘origin/***’ have diverged」と言われたときの対処 – Qiita

リモートブランチとローカルブランチで差分が出ちゃった | 箱のプログラミング日記。

master branch and ‘origin/master’ have diverged, how to ‘undiverge’ branches’? – Stack Overflow

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA