Gitのfetchですべてのブランチが取得されない 質問する

Gitのfetchですべてのブランチが取得されない 質問する

リポジトリをクローンした後、誰かが新しいブランチを作成したので、そのブランチで作業を開始したいと思います。マニュアルを読みましたが、とても簡単そうです。不思議なことに、うまくいきません。見つけた投稿はすべて、私が正しいことをしていることを示しています。そのため、私は非難されることを覚悟しています。明らかに何かが間違っているに違いないからです

正しい行動

git fetch
git branch -a
* master
  remotes/origin/HEAD --> origin/master
  remotes/origin/master
git checkout -b dev-gml origin/dev-gml

この時点で問題が発生します。何らかの理由で、git fetchdev-gml リモート ブランチが表示されません。なぜでしょうか? リポジトリを新しくクローンすると、そこに存在するので、リモート ブランチは確かに存在します。

$ mkdir ../gitest
$ cd ../gitest
$ git clone https://github.com/example/proj.git
Cloning into proj...
remote: Counting objects: 1155, done.
remote: Compressing objects: 100% (383/383), done.
remote: Total 1155 (delta 741), reused 1155 (delta 741)
Receiving objects: 100% (1155/1155), 477.22 KiB | 877 KiB/s, done.
Resolving deltas: 100% (741/741), done.
$ cd projdir
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev-gml
  remotes/origin/master

git update、、、git pullをあらゆる可能な組み合わせで試してgit fetch --allみました...git pretty-please

ベストアンサー1

remote.origin.fetch設定を確認すると問題が分かります
(で始まる行は、$私が入力したコマンドのbashプロンプトです。他の行は結果の出力です)

$ git config --get remote.origin.fetch
+refs/heads/master:refs/remotes/origin/master

ご覧のとおり、私の場合、リモートはマスター ブランチのみを具体的に取得するように設定されていました。結果を確認するための 2 番目のコマンドを含め、以下のように修正しました。

$ git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
$ git config --get remote.origin.fetch
+refs/heads/*:refs/remotes/origin/*

*もちろん、ワイルドカードはそのパスの下にあるすべてのものを意味します。

残念ながら私はこのコメントすでに徹底的に調べて、試行錯誤して答えを見つけた後です。

おすすめ記事