Git Hub入門編! まずはバージョン管理を使いこなそう!
2016年10月10日
エンジニアにとっては必須のサービスともいえる、ソースコード管理サービス「Git Hub」。
Webデザイナーの方にも便利なので、上手に仕事に活用したいですね。
とはいえ、これからプログラミングの勉強を始める方にとっては、はじめて聞く名前かもしれません。
まずは、どんな時に使うツールなのか、一緒に学んでいきましょう。
Gitとは
GitHubについて理解するためには、まずはGitについて知る必要があります。
Gitとは、ソフトウェア開発など、プログラミングの現場でよく用いられている「バージョン管理システム」のことです。
プログラムやコードのファイルを、より良いものに変更するために、編集することがありますよね。このファイルを編集前の状態に戻したくなったら、どうすればいいでしょうか?
一番手軽なのは、あらかじめ編集する前のファイルに別の名前をつけて保存しておくことです。 しかし、ファイルを編集するたびに自分でファイルをコピーするのは手間もかかりますし、間違いも起こりやすくなります。
たとえば【修正版】【最新版】【変更前】などの名前をつけてコピーしてしまうと、結局どれが最新のものか、どれが元々のファイルなのか見分けがつきにくくなくなります。
また、どんな内容の変更を行ったのか、タイトルからでは容易にはわかりません。
チームで作業している場合は、二人で同時に編集してしまい、先に編集した人の変更内容が消えてしまう、というトラブルも起こりやすくなります。
こうしたミスを防ぎ、プログラムのバージョンを管理するためのツールが「Git」です。
Gitを使えば、ファイルを任意のタイミングで更新履歴として保存することができます。
そうすることで、一度編集したファイルを過去の状態に戻したり、編集して改変した部分を表示したりできるようになります。
また、チームで作業中、二人で同時に編集していた場合、先に編集した人の変更内容を上書きしようとすると、サーバーにアップしたときに警告が出ます。
従って、他の人の編集内容を消してしまうといった事故も起こりません。
GitHubとは
GitHubは、Gitを利用して、世界中の人々がプログラムコードやデザインデータなど、自分の作った作品を保存・公開することができるようにしたサービスの名前です。
GitHubに作成されたリポジトリ(ファイルやディレクトリの状態を記録する場所)は、基本的にすべて公開されますが、有料サービスを利用すると、アクセスを制限したプライベートなリポジトリを作ることもできます。
これを利用して、GitHubを使ってバージョン管理を行っている企業も多数あります。
GitHubが活用されている背景には、以下のようなメリットがあります。
フォーク
フォークとは、食器のフォークのように、一つのプロジェクトがいくつにも分派していくことをいいます。 誰かのリポジトリを他の人がコピーすることができ、また、コピーしたものを改変することができまです。
プルリクエスト
フォークで行った改変は、そのままではオリジナルのものには反映されません。 しかし、オリジナルの作者に「プルリクエスト」と呼ばれる通知を送ることによって、自分が行った変更をオリジナルに反映するよう求めることができます。
マージ
プルリクエストを受け取った作者は、ボタンをクリックするだけで、リクエストを出した人が行った変更を自分のコードに導入することができます。 他人のコードを自分のコードに導入することを「マージする」といい、複数の開発者が関わるプロジェクトにおいて非常に大切な工程です。 GitHubを使えば、マージを安全かつ迅速に行うことが可能になります。
リモートリポジトリとローカルリポジトリ
GitHubを利用するにあたって、前提として知っておきたいのが、リモートリポジトリとローカルリポジトリの2種類のリポジトリです。
リモートリポジトリ
サーバなどネットワーク上に配置し、複数人で共有するためのリポジトリです。
ローカルリポジトリ
自分のパソコンの中に配置して、編集や作業を行うためのリポジトリです。 普段の作業は全て手元のパソコンのローカルリポジトリで行い、作業が完了したらリモートリポジトリにアップロードして公開します。 また、リモートリポジトリから他の人の作業内容を取得することも可能です。
まとめ
プログラムやコードのバージョン管理に非常に便利なGitHub。 複数人でのプロジェクトではもちろん、個人で行うプログラミングにおいてもGitを有効活用して、効率的に仕事をこなしましょう。
本ブログは、日本初Web専門スクールのインターネット・アカデミーの講師が運営するWebメディアです。 スクールの情報はもちろん、最新のWebデザイン・プログラミング・Webマーケティングについて役立つ情報をご紹介しています。