1. ホーム
  2. git

[解決済み] Git: 警告: 参照名 'master' はあいまいです。

2023-04-12 14:52:05

質問

ここで同じ質問をしている人を何人か見かけましたが、どのアドバイスも私には当てはまらないようです。タイトルにあるような警告が出るのですが、"master"という名前のタグがありません。これは git branch -a :

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

ここで何が間違っているのか、何か思い当たることはありますか?私はgitを使い始めてまだ数ヶ月なので、この曖昧さが将来的にレポを混乱させるかもしれないと心配するだけです。

どのように解決するのですか?

私の場合、この警告の原因を突き止めたのは、ずっと以前に "update-ref" コマンドを間違って発行してしまったときでした。 最初の引数に refs/heads/mybranchname の完全なパスを指定し忘れると、.git/mybranchname というファイルが作成され、後にそのブランチに切り替えようとしたときにこの警告が発生するのです。

これは、例えば.git/mybranchnameを削除することで解決します。

rm .git/master

また、参考までにupdate-refコマンドの正しい書式は。

git update-ref refs/heads/mybranchname mytargetbranch

refs/heads" の部分を忘れないでください!

また、私が update-ref を使う最も一般的なケースは、単に手動でブランチを移動して別のコミットを指すようにすることですが、これはよりシンプルな構文でできることがわかりました。

git branch -f myBranchToMove destinationBranchOrHash

この構文は、エラーが起こりやすい refs/heads パス修飾子を必要としないので、私にとっては簡単です。