172

同僚が新しいリモート ブランチを origin/dev/homepage にプッシュしましたが、実行しても表示されません。

$ git branch -r

既存のリモート ブランチがまだ表示されます。

これは、ローカルのリモート参照が最新ではないためだと思います。したがって、git pull を実行しても、git pull は現在の作業ブランチを正しくプルするだけなので、何も起こりませんでした。対応するリモート ブランチに変更があるすべてのブランチをプッシュする git push とは異なりますか?

4

9 に答える 9

213

まず、コマンドを使用して、ブランチが実際にリモートでプッシュされていることを再確認しgit ls-remote originます。新しいブランチが出力に表示された場合は、次のコマンドを実行してみてくださいgit fetch。リモート リポジトリからブランチ参照をダウンロードする必要があります。

リモート ブランチがまだ表示されない場合は、(ls-remote出力で) リモートのブランチ名を再確認し、具体的には、それが で始まっているかどうかを確認しますrefs/heads/。これは、デフォルトで の値remote.<name>.fetchが次のとおりであるためです。

+refs/heads/*:refs/remotes/origin/*

そのため、名前が で始まるリモート参照のみがリモートrefs/heads/追跡参照としてローカルにマップされますrefs/remotes/origin/(つまり、それらはリモート追跡ブランチになります)。

于 2012-10-06T19:08:01.283 に答える
129

.git/configが含まれているかどうかを確認します

[remote "origin"]
    url = …
    fetch = +refs/heads/master:refs/remotes/origin/master

その場合は、次のように変更します

[remote "origin"]
    url = …
    fetch = +refs/heads/*:refs/remotes/origin/*

次に、それを使用できるはずです:

$ git fetch
remote: Counting objects: …
remote: Compressing objects: ..
Unpacking objects: …
remote: …
From …
 * [new branch]            branchname -> origin/branchname
$ git checkout branchname
Branch branchname set up to track remote branch branchname from origin.
Switched to a new branch 'branchname'
于 2017-09-06T17:26:40.297 に答える
32

git remote updateを実行すると、リモート リポジトリから利用可能なブランチのリストも更新されます。

バージョン 1.8.3.0 の TortoiseGit を使用している場合、「Git -> 同期」を実行すると、表示されるウィンドウの左下に「リモート更新」ボタンが表示されます。それをクリックします。次に、「Git -> Switch/Checkout」を実行して、選択できるブランチのドロップダウンに新しいリモート ブランチを表示できるようにする必要があります。

于 2013-06-26T20:05:57.817 に答える