GitHub Dasktop~マージとプル~
前回の続きです。
マージについては特に説明はありません。基本は現在のブランチをマスターブランチに結合させる事、場合によってはブランチから分岐させたブランチを結合させたりする事が出来ます。
"Create Pull Request"をクリックすると下記の画面へ移行します
下部分の”Merge pull request”をクリック
”Confirm merge”に変化します。もう一度クリックすれば、マージ完了になります
マージが完了した後、”Delete branch”で不要なブランチ削除出来ます
マージについては以上ですが、この後”プル”というのが必要なので書いていきます。
プルとは?
リモートリポジトリの変更をローカルリポジトリに取り込む操作のことを言います。リモートリポジトリはマージ後の情報になっていますが、ローカルリポジトリではマージ前の情報のままなので、次のブランチを作成する前にプルをして情報を反映させる必要があります。
GitHub Dasktopに戻り”Fetch origin”をクリック
”Pull origun”をクリックして完了です
マージとプルについては以上で終了です。
GitHub Dasktop~プルリクエスト の作成~
続いてプルリクエストの作成を行います。
プルリクエスト とは?
ブランチでのコミット履歴を残すと共に、各コミットにおける変更修正にコメントをつけることができる GitHub の機能のことを言います。以下の図のような形で、1つのブランチでの作業について、コミュニケーションが取れる掲示板のようなものがプルリクエストです。
現在、作成中のリポジトリを例にしています
赤丸の部分は自身のリポジトリの状況で変化する事がありますが、流れは一緒です
"Create Pull Request"でHItHubの画面へ以降します
赤丸でプルリクエスト の作成、青枠部分は下記にて説明します
- [WIP]
個人開発ではつけませんが、チーム開発などでは[WIP]を付けるようにします。
WIP とは、Work In Progress の略で作業中の意味です。作業が終わっている場合には WIP を外します。「実装途中の機能には WIP をつける」「実装が一旦完了したプルリクエストからは WIP を外す」と考えてください。
- #what,#why
WhatとWhyを書くことで、このブランチは何を実装していて、なぜその実装を行ったのかが他の人に伝えることができます。What をしっかり書くことで、他者にコードを見てもらう際に、スムーズな理解を促すことができます。アプリケーションの機能が複雑になればなるほど、コードを読んだだけでは、何をしているのか把握することは難しくなるからです。また、Why をしっかり書くことで、本来の目的に沿ったコミュニケーションが可能です。実装目的が伝わっていないと、欲しい意見をもらうことはできません。
次回、プルリクエスト後に行う”マージ”について書いていきます。
GitHub Dasktop~ブランチの作成~
引き続きGitHub Dasktopのブランチについて書いてこうと思います。
ブランチとは?
ブランチとは、リポジトリで管理しているプロジェクトの流れを記録していく場です。リポジトリは必ずブランチを持っています。Git でリポジトリを作成した時点で、開発者はmaster ブランチという履歴上で開発をする状態となります。そこからトピックブランチを作成し、機能別に並行作業していきます。
master ブランチ
master ブランチとは、リポジトリに最初のコミットを行うと自動で作成されるブランチです。master ブランチがリポジトリの大元のブランチとなることが多いです。これまで行ってきたコミットはすべて master ブランチの履歴上で管理されていました。
トピックブランチ
ブランチは複数作ることが出来ます。そして、ブランチを作るにはすでにあるブランチをコピーしなくてはいけません。最初のブランチは master ブランチなので、次に作るブランチは master ブランチをコピーしたブランチになり、それをトピックブランチと言います。
”マージ”と書いてますが、先にプルリクエスト を説明する必要があるためこ子では説明しません。次書く記事でプルリクエスト について書いていきたいと思います。
GitHub Dasktop~リモートリポジトリの作成~
GitHubを使っていくためにはリポジトリを作成する必要があります。今回はGitHub Dasktopを使ったリモートリポジトリの作成を書いていこうと思います。
左上の「Current Repository」→「Add」→「Add Existing Repository」を選択します。
①にコミット名、②をクリックしてコミットします。
Publish repositoryをクリックします。
GitHub Desktop では、Publish ボタンを押すとリモートリポジトリが作られていない場合にリモートリポジトリも作ってくれます。
モーダルが現れます。公開するかのチェックですが、後からGIthubで変更も出来ます。
決めたら、Publish repositoryをクリックします。
ここまで完了すれば、GitHubにリポジトリが作られています。
次回以降は”プルリクエスト ”、”ブランチ”などについて書いていきたいと思います。
GitHub Desktopの導入
先日からGit関連の話を書いてきましたが、今回はGitHub Desktopについて書いていこうと思います。GItを利用していてGitHub Desktopがあるからこそ、使いやすいと感じます。
まずはGitHub Desktopをインストールしましょう。
Mac版GitHub Desktopのダウンロードリンク
zipファイルを展開すると出てくる「GitHub Desktop」を
アプリケーションフォルダに移動してください。
ダウンロードを終えたら、アプリを開きサインインしましょう
GitHub Desktopは全て英語ですので、使い慣れないうちは調べながら操作していくことをオススメします。
使い慣れたら、開発を行う上で強い味方になりますので、開発スキルを高めたい方は是非使ってみてください。
GitとGitHubの違い
タイトルに入れてましたが、そういえば違いについて書いてなかったと思い改めて、書いていこうと思います。GitとGitHubは名前こそ似てますが、GitHubはGitの仕組みを利用したWebサービスです。
Gitとは?
GitやGitHubはプログラミング言語ではなく、開発環境を管理するためのツールです。GitやGitHubをマスターしたからといって、Webアプリケーションが作れるようにはなるわけではありません。
GitやGitHubはプログラミング開発における、作業順序の管理や共同作業のための仕組みと捉えてください。いくらプログラミング技術があっても、GitやGitHubの知識が無い状態では、他のエンジニアと共同作業をすることができないのです。
GitHubとは?
Gitを利用してチーム開発に便利な機能を提供するWebサービスがGitHubです。Hub(ハブ)というのは「集まり」という意味です。GitHubは世界中のGitのリポジトリが集まったハブの役割を担っているサービスということです。GitHubは、クラウド上でGitを用いたバージョン管理をすることができ、さらにGitには無い、開発者に便利な機能を追加しています。
GitとGitHubの関わり
GithubとはGitにおけるリモートリポジトリの役割を担います。リモートリポジトリとは外部のサーバー上においたリポジトリのことでした。GitHub上にチームで共有のプロダクト(ソースコード)を配置します。そして、開発チームのメンバーはGitHub上からソースコードをコピーしたり、逆にソースコードの変更を反映させることができます。
GitHubの特徴
- 世界中のあらゆるプロダクトが保存、公開されている
- グラフィカルな画面からGitを扱うことができる
- チーム開発に便利な様々な機能が用意されている
世界中のあらゆるプロダクトが保存、公開されている
GitHubでは世界中の人々が自分のプロダクト(ソースコードやデザインデータなど)を保存、公開をすることができます。そのため様々な人のソースコードを読んだり、見知らぬ多くの人が一つのプロジェクトやソースコードの変更に関わることができます。
グラフィカルな画面からGItを扱うことが出来る
通常Gitはコマンドで扱いますが、GitHubならWebサービス上の画面からグラフィカルにGitの操作を行うことができます。そのためミスも少なく気軽にGitを活用できます。
チーム開発に便利な機能が用意されている
GitHubにはチーム開発を円滑に行うための機能があります。代表的なのはプルリクエストで、使いこなすとチームでの開発力がグンっと上がります。 コードレビュー(コードの質のチェック)を行う仕組みやソースコード単位でコメントのやり取りをする機能、他の開発者のリモートリポジトリをコピーしてくる機能など便利な機能がいくつもあり使えば、使うほど開発に必須と言われる理由がわかると思います。
記事を読んで、少しでもGItを理解してもらえば幸いです!
GitとGitHub~導入~
前回の続きで、今回はGitの導入方法ついて書いていきます。
Gitのインストール
$ brew install git # Gitのインストール
インストールされたか確認
$ git --version # Gitのバージョンを確認
導入はこれだけですが、GItを使用するにあたって、必要な用語がありますので今回はそちらも紹介したいと思います。
Gitの管理下にあるファイルやディレクトリの変更履歴を保管しておく入れ物です。リポジトリには2種類あり、それが下記の2つになります。
ローカルリポジトリ
ローカルリポジトリとは、自分のPC上(ローカル環境)に置くリポジトリのことです。自分のPC上にあるファイルやディレクトリのバージョン管理をしたい場合に用います。
リモートリポジトリ
リモートリポジトリとは、外部のサーバなどのネットワーク上に置くリポジトリのことです。ネットワーク上に置くことで複数人で管理下のファイルやディレクトリを共有することが出来ます。複数人でサービスを開発するときにはリモートリポジトリが必須です。リモートリポジトリを介することで、複数人が同じアプリケーションを開発することができるのです。
インデックス
バージョンを記録するためにファイルを一時的に登録する場所です。インデックスに登録されているファイル群の変更が記録されます。つまり、同じバージョンとして記録したい編集についてはまとめてインデックスに追加し、このタイミングでは記録したくない編集についてはインデックスに追加しません。
コマンド:git status
インデックスに追加されている変更修正、されていない変更修正を確認することができます。
コマンド:git commit
インデックスに追加されている変更修正を、コミットするためのコマンドです。-mのオプションはコミットメッセージと呼ばれ、どのような変更を行ったのかメモを残せます。このコミットメッセージをしっかり書くことによって、「いつ、どのような修正をしたのか」が明瞭になり、いざという時に遡りやすくなります。
コマンド:git log
コミットの履歴を表示するための操作。様々なオプションが存在し、より詳細な情報を表示することも可能です。
Gitについては覚えることのが多いので、引き続き書いていこうと思います。