1. ホーム
  2. git

[解決済み] Git ですべてのリモートブランチをクローンする方法

2022-03-14 23:50:46

質問

私は masterdevelopment ブランチにプッシュされ、両方とも ギットハブ . 私は clone d, pull ed、および fetch を編集しましたが、それ以外のものは取得できないままです。 master のブランチが戻ってきました。

何か当たり前のことを見逃しているのでしょうが、マニュアルを読んでも全く喜びを感じません。

解決方法を教えてください。

まず、リモートのクローンを作成します。 Git リポジトリと cd をその中に入れてください。

$ git clone git://example.com/myproject
$ cd myproject

次に、リポジトリ内のローカルブランチを見てみましょう。

$ git branch
* master

しかし、あなたのリポジトリには他のブランチが隠れているのです! これらのブランチを見るには -a フラグを使用します。

$ git branch -a
* master
  remotes/origin/HEAD
  remotes/origin/master
  remotes/origin/v1.0-stable
  remotes/origin/experimental

上流のブランチをちょっと覗きたいだけなら、直接チェックアウトすることができます。

$ git checkout origin/experimental

しかし、そのブランチで作業したい場合は、ローカルの追跡用ブランチを作成する必要があります。これは、以下のようにして自動的に行われます。

$ git checkout experimental

と表示されます。

Branch experimental set up to track remote branch experimental from origin.
Switched to a new branch 'experimental'

ここで、quot;new branch" とは、単にインデックスからブランチを取り出し、ローカルに作成することを意味します。 このように の行からわかるように、このブランチはリモートブランチ、つまり通常は origin/branch_name ブランチを追跡するようにセットアップされています。

さて、ローカルブランチを見ると、このようになります。

$ git branch
* experimental
  master

実際に複数のリモートリポジトリを追跡するには git remote .

$ git remote add win32 git://example.com/users/joe/myproject-win32-port
$ git branch -a
* master
  remotes/origin/HEAD
  remotes/origin/master
  remotes/origin/v1.0-stable
  remotes/origin/experimental
  remotes/win32/master
  remotes/win32/new-widgets

この時点で、かなりおかしくなっているので、次のように実行します。 gitk をクリックして、何が起こっているのかを見てみましょう。

$ gitk --all &