リポジトリをクローンしたときにpullされるブランチがmasterブランチだけらしく、作成したdevelopブランチをpullしたかったときの備忘録
とりあえずブランチをpullしたい時
1行目のコードだけでローカル環境をリモートリポジトリに合わせることができる
for remote in `git branch -r`; do git branch --track ${remote#origin/} $remote; done
git branch -r | grep -v "\->" | grep -v main | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
上記の2つの参考コードの元記事にはgit fetch --all
git pull --all
がセットになっているが、これらはローカル環境を最新にする記述なのでクローンしてきた段階ではローカルは最新だから必要はなさそう
特定のブランチのみpullしたいとき
特定のリモートリポジトリのブランチをpullしたいときは以下のように書く
git checkout -b <ローカルブランチ名> origin/<リモートブランチ名>
やっている内容としては、ローカルにブランチを作成→リモートブランチをその作成したブランチにpull→作成したブランチに移動するという処理をしている
これで特定のブランチのみpullすることができる
「origin/<リモートブランチ名>」の部分はリモートリポジトリのブランチ一覧を取得するgit branch -r
を打つと確認できる
以下のように表示される
git branch -r
origin/HEAD -> origin/master
origin/develop
origin/master
おまけ:ローカルでリモートリポジトリと同じブランチを作成してpullする方法
ローカルで「develop」ブランチを作成し、ブランチを切り替え
git checkout -b develop
リモートリポジトリのブランチ「develop」をpullする
git pull origin develop:develop
省略して書くとgit pull origin develop
pullする際に削除されたファイルとか作られたファイルが一覧で表示される
ローカルとリモートで同じブランチ名だと省略できたりするみたい
ブランチを既に用意しているパターンを想定しての備忘録
やっていることはわからない