システム開発をするときはmasterブランチで開発をする方法もありますが、機能ごとにブランチを作って開発をするという方法が一般的です。今回はこのブランチ関連の操作をまとめて紹介します。
目次
ブランチを作成する
$ git branch <ブランチ名>
ブランチを表示する
$ git branch
オプション
-a –all |
リモートリポジトリも表示する |
-r –remotes |
リモートブランチ一覧を表示する |
ブランチを切り替える
$ git checkout <既存ブランチ名>
オプション
-b <新ブランチ名> | ブランチを新規作成してそのブランチに切り替える |
変更をマージする
$ git merge <ブランチ名> $ git merge <リモート名/ブランチ名> 例: $ git merge origin/master
上記のコマンドを打つと作業中のブランチに変更履歴をマージ(統合)することができます。
現在作業中のブランチ名を変更する
$ git branch -m <ブランチ名> $ git branch -m new_branch
ブランチを削除する削除
$ git branch -d <ブランチ名> $ git branch -d old_branch
masterにマージされていない変更がある場合は警告を出して削除できない。強制的に削除したい場合は以下のコマンドを使います。
ブランチを強制削除する削除
$ git branch -D <ブランチ名> 例:$ git branch -D old_branch
git branch -d で削除できない時はこれ。
ログを確認する(複数行で表示)
$ git log
ログを確認する(1行で表示)
$ git log --oneline --decorate
git branchの実戦的な使い方の例
ブランチを切って機能追加する手順例
現在masterブランチがあるが、ログイン機能を実装するという時にloginというブランチを切ってそのブランチで開発をします。手順の流れとしては以下になります。
- git pullで最新の状態にする
- git branch xxx でブランチを作成する(xxxが新ブランチ名)
- git checkout xxx でブランチを変更する
- ログイン機能を実装する
- git checkout masterでブランチを変更する
- git merge xxxで変更をマージする
基本的な使い方なので何回かやって慣れておきましょう。
ブランチを切って機能追加後、プルリクエストを送る手順例
より実戦的な方法です。
前回同様、現在masterというブランチがあるが、ログイン機能を実装するという時にloginというブランチを切ってそのブランチで開発をします。その後、自分でmasterブランチにマージせず、管理者にコードレビューしてもらってからマージしてもらいます。
手順の流れとしては以下になります。
- git pullで最新の状態にする
- git branch xxx でブランチを作成する
- git checkout xxx でブランチを変更する
- ログイン機能を実装する
- git add .
- git commit -m “ログイン機能を実装”
- git push origin xxx
- githubでPull requestsタブを開きNew Pull Request
- masterブランチとxxxブランチをcompare→Create pull request
- commentに「レビューお願い致します」など入力してCreate pull request※
- Merge pull request→Confirm mergeでmasterブランチにマージ
- Delete branchでxxxブランチを削除
- git branch masterでmasterブランチに移動
- git pullで最新のリポジトリ(loginが反映されたリポジトリ)をマージする
- git branch -d loginでブランチを削除する
※実務だとReviewers(管理者、コードレビュー者)も選択する。個人で学習していてレビュー者がいない時は選択しない。
コメント