⚙️

【Git&Github】Gitのブランチ(branch)機能とコマンド一覧

2024/07/14に公開

ブランチ(branch)とは

Gitブランチの管理方法

1. Git Flow

  • Vincent Driessenによって提案されたモデル。
  • 特にリリースサイクルが定められた開発プロジェクトに適している。
ブランチ名 内容
master 本番環境にリリースされるコードを保持するブランチ
develop 次のリリースに向けた開発が行われるブランチ
feature 新しい機能開発用のブランチ(developにマージ)
release リリース前の最終調整やバグ修正を行うブランチ(masterにマージ)
hotfix 本番環境で発見されたバグを修正するブランチ(masterとdevelopにマージ)

2. GitHub Flow

  • シンプルで柔軟なモデルであり、継続的デリバリー(CI/CD)を行うプロジェクトに適している。
ブランチ名 内容
master 常にデプロイ可能な状態を保つブランチ
feature 新しい機能やバグ修正を行いレビュー後にmasterに直接マージするブランチ

3. GitLab Flow

  • Git FlowとGitHub Flowの利点を組み合わせたモデル。
  • 環境ごとにブランチを持つことが特徴。
ブランチ名 内容
master 常にデプロイ可能な状態を保つブランチ
pre-production プレプロダクション環境でのテスト用
production 本番環境用のブランチ

ブランチの管理のベストプラクティス

1. 命名規則の設定:
 ブランチの目的がわかるように、一貫性のある命名規則を設定する。
 =「枝の名前はわかりやすく」

2. プルリクエスト/マージリクエスト:
 変更をmasterブランチにマージする前に、コードレビューを必須とする。
 =「変更依頼があれば確認しすぐに修正」

3. CI/CDの統合:
 自動テストとデプロイメントを設定し、ブランチが常に安定しているかを確認する。
 =「自動化できるところは自動化しよう」

4. 定期的なブランチの整理:
 不要になったブランチは定期的に削除して、リポジトリを整理する。
 =「枝分かれさせすぎない」

ブランチ機能に関わるコマンド

git branch(ブランチの一覧表示)

ブランチの一覧表示
git branch
出力結果
出力結果
$ git branch
* main

git barnch <ブランチ名>(ブランチの作成)

ブランチ作成
git branch <branch-name>
出力結果
出力結果
$ git branch develop
$ git branch       
  develop
* main

git checkout (ブランチの切り替え)

ブランチの切り替え
git checkout <branch-name>
出力結果
出力結果(main➡developへ切り替わっている)
$ git checkout develop
Switched to branch 'develop'
$ git branch       
* develop
  main

git switch (ブランチの切り替え)

ブランチの切り替え
git switch <branch-name>
出力結果
出力結果(main➡developへ切り替わっている)
$ git switch develop
Switched to branch 'develop'
$ git branch       
* develop
  main

git checkout -b(ブランチ作成と切り替え)

ブランチ作成と切り替え
git checkout -b <branch-name>
出力結果
出力結果(featureブランチが作成され切り替わっている)
$ git checkout -b feature
Switched to a new branch 'feature'
$ git branch       
  develop
* feature
  main

git switch -c(ブランチ作成と切り替え)

ブランチ作成と切り替え
git switch -c <branch-name>
出力結果
出力結果(featureブランチが作成され切り替わっている)
$ git switch -c feature
Switched to a new branch 'feature'
$ git branch       
  develop
* feature
  main

git branch -d(ブランチの削除)

ブランチの削除
git branch -d <branch-name>
出力結果
出力結果(developブランチが削除されている)
$ git branch -d develop      
Deleted branch develop (was 9a5862e).
$ git branch       
* feature
  main 

GitHub上でのブランチ作成状況の確認

自らのGitHubのリポジトリの画面の上部にあるbranchから確認する。

まとめ

・所属するチームによってGitのブランチ管理方法が異なり、ブランチ名も異なることが考えられる。チームのGitHubの運用方法について理解してうえで正しいブランチにpushpull requestが行えるようになる必要がある。

Discussion