見出し画像

Git チーム開発 必須スキル ブランチ プルリクエスト

ブランチの仕組み(branch)
ソフトウェアの開発では複数のメンバーが同時に機能追加を行ったりバグ修正を行ったりするので
複数のリリースバージョンが存在し、それぞれを保守しなければならないといったこともあります。

並行して行われる複数のバージョン管理を行うためGitにはブランチという機能が備わっています。

ブランチ

ブランチとは作業履歴の流れを分岐して記録していくためのものです。
分岐したブランチは他のブランチの影響を受けないため同じリポジトリ中で
複数の変更を同時に進めていくことができます。

参考:
https://backlog.com/ja/git-tutorial/stepup/01/

分岐したブランチは他のブランチとマージ(合流)することで1つにまとめることが出来ます。

masterブランチ

リポジトリに最初のコミットを行うとGitはmasterという名前のブランチを作成します。
以後のコミットはブランチを切り替えるまでmasterブランチに追加されていきます。

参考:
https://backlog.com/ja/git-tutorial/stepup/01/

作業ブランチを作成する(branch)
最初はmasterブランチしかない状態です。
作業用のブランチを作成するにはbranchコマンドを用います。

git branch ブランチ名

git branch branch1
これで新しく作業ブランチを作成できました。

作業ブランチを確認する(branch)
今作業を行なっているブランチが何処なのかはbranchコマンドで確認することが出来ます。

$ git branch
$ git branch
branch1
* master

作業ブランチには*がつきます。

作業ブランチを切り替える(checkout)
作業ブランチを切り替えを行うにはcheckoutコマンドを用います。

先に移動先の作業ブランチを作成しておかないと移動できないので
あらかじめbranchコマンドで作成しておきましょう。

git checkout ブランチ名

$ git checkout branch1
Switched to branch 'branch1'

作業ブランチが切り替わりました。
これでコミットすると、この作業ブランチにコミットされることになります。

コマンドでオプション-bをつけるとブランチ作成とチェックアウトを同時に行えます。


git checkout -b ブランチ名

$ git checkout -b branch2
Switched to a new branch 'branch2'

プルリクエストとは(Pull Requests)


プルリクエストは他の開発者に更新を通知する機能です。プルリクエストはGit自身の機能ではなくGitHubが最初に提供した機能で
今では主要なGitホスティングサービスやツールで利用できます。

プルリクエストは次のような機能を提供しています。

・機能追加や改修など作業内容を担当者や関係者に通知
・ソースコードの変更箇所を表示
・ソースコードに関するコミュニケーションの場を提供

プルリクエストは一覧で見ることができるため未完了のプルリクエストを簡単に確認できます。
ソースコードをレビューして最終的にマージされるソースコードの品質を高くできます。

プルリクエストを導入した際の流れは次のとおりです。

1.開発者がGitHubにブランチをプッシュする
2.開発者がブランチからプルリクエストを作成する
3.レビュワーがコードをレビューする
4.ブランチをマージする

参考:
https://backlog.com/ja/git-tutorial/pull-request/03/

プルリクエストを作成する
Githubからプルリクエストを行うには
リポジトリのトップ画面でNew Pull Requestボタンをクリックして作成を開始します。

リモートリポジトリからプルする(pull)
複数人で作業をするとリモートリポジトリがどんどん更新されていきます。
変更した内容を自分のローカルリポジトリに取り込む必要が出てきます。

リモートリポジトリからローカルリポジトリを更新するにはプルpullという操作を行います。

git pullでは全てのブランチの変更内容を取得し現在作業対象としている
ブランチ(通常はmaster)の変更内容を作業ディレクトリに反映します。

特定のブランチの変更内容だけを取り込みたい場合は
git pull リモートの名前 ブランチの名前
と指定します。

git cloneを実行すると複製元のリモートリポジトリにはoriginという名前が付きます。

デフォルトのブランチは通常masterという名前になっているため
git pull origin masterと実行するとデフォルトブランチだけを更新します。

# リモートリポジトリで変更された内容を全て取得し現在の作業ツリーに反映する


$ git pull

# デフォルトブランチの変更内容を取り込む


$ git pull origin master

# 指定したブランチの変更内容を取り込む


$ git pull リモートの名前 ブランチの名前

他の人の作業更新を聞いたらファイルの更新を行いましょう。
まずは作業ディレクトリに向かいます。

cd 作業ディレクトリ
作業ディレクトリに着いたらpullコマンドを実行します。

$ git pull origin master


改めてローカルリポジトリのファイルを見てみると更新されているようです。

まとめ
チーム開発でgit使えないと格好悪いので、勉強させてもらいました。

この記事が気に入ったらサポートをしてみませんか?