web関連
【git】リポジトリをクローンしてきた後にdevelopブランチをpullする方法
リモートリポジトリをクローンした時、pullされるブランチがmasterブランチだけらしく、他のdevelopブランチもpullしたかったときの備忘録
前提と目的
前提として、リモートリポジトリをclone済み
この記事の目的は、masterブランチ以外のブランチ(developブランチなど)もpullすること。
とりあえず全てのブランチをpullする方法
以下の2つのコードで全てのブランチをpullすることが可能。
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
どちらも、リモートリポジトリのブランチを全てpullすることができた。
特定のブランチのみpullしたい時
特定のリモートリポジトリのブランチをpullしたいときは以下のように書く。
git checkout -b <ローカルブランチ名> origin/<リモートブランチ名>
おまけ:ローカル環境にリモートリポジトリと同じブランチを作ってpull
特定のブランチをpullするもう一つの方法としては、pullしたいリモートリポジトリのブランチ名と同じ名前のブランチをローカルリポジトリで作成してpullする方法。
# masterのみclone
git clone https://...git
# pullしたいリモートリポジトリのブランチと同名のブランチをローカル環境に作成
git checkout -b develop
# pullする
git pull origin develop:develop
git pull origin develop:developを省略して書くとgit pull origin developと書ける。
※pullする際に削除されたファイルとか作られたファイルが一覧で表示される(メモ)
ローカルとリモートで同じブランチ名だと省略できたりするよう。
git fetch --allgit pull --allがセットになっているが、これらはローカル環境を最新にする記述なのでクローンしてきた段階ではローカルは最新だから必要はなさそう