それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Gitのリモートブランチをcloneする。

git の リモートブランチをclone したい

直接 clone できるわけじゃないけど、新規でclone する場合は結構楽に行える。

いつも流れ作業でやってるし過去にも書いてるんだけど。誰かに伝えるために改めてメモ。

作業の流れ

最初に、メインなブランチ(master)を clone する。 その後にリモートブランチをcheckout する。

作業コマンド

全体の作業の流れはこんな感じ。

git clone ${REPO_URL}
cd ${REPO_DIR}
git fetch 
git checkout -b ${BR_NAME} origin/${BR_NAME}

作業例

既存フォルダがあれば消す。

takuya@osx:~/Desktop$ rm code -rf

clone する

clone した時点では、master(main) ブランチ

takuya@osx:~/Desktop$ git clone git@ssh.mygit.example.com:repo/sample-/code.git
Cloning into 'code'...
remote: Enumerating objects: 413, done.
remote: Counting objects: 100% (413/413), done.
remote: Compressing objects: 100% (143/143), done.
remote: Total 16630 (delta 315), reused 302 (delta 247), pack-reused 16217
Receiving objects: 100% (16630/16630), 98.06 MiB | 13.38 MiB/s, done.
Resolving deltas: 100% (5694/5694), done.
Checking out files: 100% (832/832), done.

git フォルダ内部へ移動

takuya@osx:~/Desktop$ cd code

リモートブランチの状態を調べる

takuya@osx:~/Desktop/code$ git fetch
takuya@osx:~/Desktop/code$ git branch -r
  origin/HEAD -> origin/master
  origin/deploy-test
  origin/master
  origin/staging

リモートブランチをチェックアウト

takuya@osx:~/Desktop/code$ git checkout -b staging origin/staging
Branch 'staging' set up to track remote branch 'staging' from 'origin'.
Switched to a new branch 'staging'

チェックアウト結果を調べる。

takuya@osx:~/Desktop/code$ git branch
  master
* staging

ポイント

git ブランチは、ローカルとリモートで別々に存在します。

リモートのブランチをローカルでチェックアウトして使います。

チェックアウト時に、ローカルで変更(差分)があると、コンフリクトが発生したり、自動マージが走ったりします。注意してください。