[解決済み】すべてのリモートgitブランチをローカルブランチとして追跡する
2022-04-13 10:35:15
質問
1つのリモートブランチをローカルブランチとして追跡することは、十分に簡単です。
$ git checkout --track -b ${branch_name} origin/${branch_name}
すべてのローカルブランチをリモートにプッシュし、必要に応じて新しいリモートブランチを作成することも簡単です。
$ git push --all origin
逆をやりたい。1つのソースにX個のリモートブランチがある場合。
$ git branch -r
branch1
branch2
branch3
.
.
.
リモートブランチを手動で作成することなく、すべてのリモートブランチに対してローカル追跡ブランチを作成できますか?以下のような感じです。
$ git checkout --track -b --all origin
ググったりRTMしたりしましたが、今のところ二束三文です。
解決方法は?
bashを使用する。
git 1.9.1以降for i in `git branch -a | grep remote | grep -v HEAD | grep -v master`; do git branch --track ${i#remotes/origin/} $i; done
git 1.9.1以前のクレジットを表示します。 ヴァル・ブラント、エリアス、ヒューゴ
注意 gitの新しいバージョン(>v1.9.1)で以下のコードを使用すると、次のような問題が発生します。
- (バグ) 作成されたすべてのブランチは master を追跡する
- (迷惑) 作成されたすべてのローカルブランチ名の先頭に
origin/
for remote in `git branch -r `; do git branch --track $remote; done
ローカルのトラッキングブランチに変更がないことを前提に、ブランチを更新します。
for remote in `git branch -r `; do git checkout $remote ; git pull; done
曖昧な refname の警告は無視してください。git はローカルブランチを優先するようです。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Git サブモジュール head 'reference is not a tree' エラー
-
git push reports an error ! [リモート拒否] master -> master (受信前のフックが拒否されました)
-
[解決済み] リモートから<branch name>とマージするように構成が指定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] git でディレクトリ階層が異なる 2 つのブランチをマージするには?
-
[解決済み] git rebase: "error: cannot stat 'file': パーミッションが拒否されました"
-
[解決済み] git リモートリポジトリには、ローカルブランチにマージされていないコミットが含まれています。
-
[解決済み] Git作者不明
-
[解決済み】シェルプログラミングにおける$(command)と`command`の違いは?
-
[解決済み】git checkout --track origin/branch と git checkout -b branch origin/branch の違い。
-
[解決済み] Gitで各ブランチとその最終リビジョンの日付を一覧表示する