概要
-
git clone
とブランチの関係性について整理したので備忘録として記します。- そもそもデフォルトブランチとは?
-
git clone
した時のデフォルトのブランチは? - ローカルブランチを最新にするには?
- リモートから特定のブランチを指定してcloneするには?
そもそもデフォルトブランチとは?
- 一般的に、「本番環境にデプロイ可能なコード」と見なされることが多いブランチ
- ブラウザでgitのリポジトリを開いた時に、最初に表示されている
- git clone時の対象ブランチ・プルリクエスト作成時の標準のマージ先ブランチ
- 参考記事:git コマンドでデフォルトブランチ名を取得する
- デフォルトブランチは変更することもできます。変更方法は公式サイトの以下リンクをご参考ください。
git clone
した時のデフォルトのブランチは?
- cloneしたらデフォルトではmainになっています
- ちなみに、2020年10月より前はデフォルトブランチ名は「master」でした。ただし、これはmaster(主人)とslave(奴隷)を連想させる単語として、使われないことになりました。
- デフォルトの設定ではmainになっていますが、他のブランチが含まれていない、というわけではありません。リポジトリ内全てのブランチを含んでいます。main以外のブランチにいきたい場合は、目的のブランチにチェックアウトする必要があります。
- clone直後、developブランチにしたい場合は、以下のコードを実行します
git checkout -b develop
ローカルブランチを最新にするには?
- 上記のように、
git clone
した後にdevelopブランチに切り替えた場合、そのブランチをリモートにある最新のものにする必要があります。その場合は以下のコマンドを実行します。-
git pull
もしくはgit pull origin develop
-
- これにより、リモート情報を取り込むことができますが、以下のコメントが出てくることがあります。
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> develop
- これは、ローカルで新規作成されたブランチと「どこのリモートのブランチに紐づいているのか分かりません」と言われているためです。なので、紐づけてあげるには、記載されている通り、以下コマンドの実行が必要です。
git branch --set-upstream-to=origin/develop develop
- 以下が返されたら、ちゃんと紐づけが完了しています。
branch 'develop' set up to track 'origin/develop'.
リモートから特定のブランチを指定してcloneするには?
- 最初から特定のブランチを指定してcloneしたい場合もあるでしょう。その場合は、以下のコマンドで可能です。
git clone -b [ブランチ名][リポジトリのアドレス]