昨日までのはこちら
100日後にエンジニアになるキミ - 42日目 - クラウド - クラウドサービスについて
100日後にエンジニアになるキミ - 36日目 - データベース - データベースについて
100日後にエンジニアになるキミ - 24日目 - Python - Python言語の基礎1
100日後にエンジニアになるキミ - 18日目 - Javascript - JavaScriptの基礎1
100日後にエンジニアになるキミ - 14日目 - CSS - CSSの基礎1
100日後にエンジニアになるキミ - 6日目 - HTML - HTMLの基礎1
100日後にエンジニアになるキミ - 53日目 - Git - Gitについて
最近の開発ではGitが欠かせません。
本日はGitの使い方の続きです。
昨日の講座はこちら
100日後にエンジニアになるキミ - 56日目 - Git - Gitの使い方2
昨日までのおさらい
ローカルリポジトリ
を作ってファイルを作成してコミットする。
Github
にアカウントとリモートリポジトリ
を作って
ローカルリポジトリ
のファイルをリモートリポジトリ
にプッシュする。
リモートリポジトリ
をローカルに複製する
ここまで出来たら残る操作の学習に移りましょう。
ブランチの仕組み(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
改めてローカルリポジトリ
のファイルを見てみると更新されているようです。
まとめ
ブランチの仕組みとプルリクエストを使った更新の通知の仕組みを覚えて
開発現場での作業工程がどんな感じになるのかを知っておこう。
君がエンジニアになるまであと43日
作者の情報
乙pyのHP:
http://www.otupy.net/
Youtube:
https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter:
https://twitter.com/otupython