[解決済み] すべてのGitブランチを取得する方法
質問
Gitリポジトリをクローンしたところ、5つほどのブランチが含まれていました。しかし
git branch
そのうちの1つしか表示されません。
$ git branch
* master
ができることは知っています。
git branch -a
を見る
すべて
を実行したときに、すべてのブランチをローカルにプルするにはどうしたらよいでしょうか。
git branch
と表示されるのですが?
$ git branch
* master
* staging
* etc...
解決方法は?
TL;DRの答え
git branch -r | grep -v '\->' | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
git fetch --all
git pull --all
(pullはすべてのリモートからすべてのブランチをフェッチするようですが、私は念のためいつも最初にフェッチしています)。
最初のコマンドは、ローカルブランチに追跡されていないリモートブランチがサーバー上にある場合にのみ実行します。
回答完了
このように、すべてのリモートからすべてのブランチを取得することができます。
git fetch --all
基本的には 力技 .
fetch
はリモートブランチのローカルコピーを更新するので、ローカルブランチは常に安全です。
しかし
:
-
fetch
はしません。 アップデート ローカルブランチ(これは トラック リモートブランチ)。ローカルブランチを更新したい場合は、やはりすべてのブランチをpullする必要があります。 -
fetch
はしません。 作成 ローカルブランチ(これは トラック リモート・ブランチ)の場合、手動で行う必要があります。すべてのリモートブランチをリストアップしたい場合。git branch -a
への 更新 リモートブランチを追跡するローカルブランチ。
git pull --all
しかし、これではまだ不十分な場合があります。これは、リモートブランチを追跡しているローカルブランチに対してのみ機能します。すべてのリモートブランチを追跡するには、次のワンライナーを実行します。
前のページ
git pull --all
:
git branch -r | grep -v '\->' | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
P.S. AFAIK
git fetch --all
と
git remote update
は等価である。
カミル・ソット氏の コメント という、便利な言葉もあります。
<ブロッククオート使わせてもらいました。
for remote in `git branch -r`; do git branch --track ${remote#origin/} $remote; done
という名前のローカルブランチを作成したため
origin/branchname
と
というメッセージが表示されます。
を参照しています。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] git rebase の取り消し
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Git フェッチ リモートブランチ
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】fatal: 有効なオブジェクト名ではない: 'master'
-
[解決済み] このリポジトリで別の git プロセスが実行されているようです。
-
[解決済み] GitHubに空のブランチを作成する
-
[解決済み] fatal: EOF が早い fatal: インデックスパックが失敗した
-
[解決済み] Git pull - マージする前に移動または削除してください。
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] Git ですべてのリモートブランチをクローンする方法
-
[解決済み] Git フェッチ リモートブランチ
-
[解決済み] git pull --all "でローカルブランチをすべて更新できますか?
-
[解決済み】git - 特定のブランチからプルする