LogoMark.png

GitHub

GitHub

https://github.com/

GitHub(ギットハブ)は、GitHub社という会社によって運営されている OSS のホスティングサービスで、分散型バージョン管理室システム Git の仕組みを利用して、プログラムのソースコードをはじめ、様々なファイルを保存、公開することができるようにしたものです。Firefox, Atom といった著名なものから、個人の開発したアプリやWebページまで、多くのソフトウエアのソースコードをホスティングしています。

オープンな開発であれば、無料で利用可能です(非公開リポジトリは有料)。


GitHubの利用

以下、GitHubの利用手順を概説します。

アカウントの取得

GitHubを利用するには、まずアカウントの取得が必要です。手続きは簡単でメールアドレスの認証が済めばすぐに利用できます。個人Userアカウントからスタートすることになりますが、さらにOrganizationアカウントの追加が可能で、ここに他のGitHubユーザーを招待することで、リポジトリの共同編集が可能になります。

中央リポジトリの構築

まずGitHubすなわちリモートサーバー上に中央(リモート)リポジトリが必要となります。一般にリーダーが以下のような手順でこれを構築します。

以上の操作で、中央(リモート)リポジトリに初期のファイルがセットされることになります。

共同編集者がそれぞれクローンを作成

GitHub は基本的にはファイルを管理する場所で、共同で直接編集を行う場所ではありません。そこで共同編集メンバーは、まず中央リポジトリのクローンをローカルリポジトリとして手元に作成します。

共同編集者による プル と プッシュ

メンバーはそれぞれ手元でファイルの編集・更新を行い、ローカルのコミットとリモートへのプッシュを進めます。

ここで重要なことは「中央リポジトリを常に正の状態(Positive State)に保つ」ということです。中央リポジトリは随時アップデートされていて、手元のファイルが古くなっている可能性があります。したがって編集作業においては、事前にプル(リモートの変更をローカルに反映)することが必要です。自身の変更をプッシュ(ローカルの変更をリモートに反映)する場合も、まず最新の状態をプルして、自身の変更とマージ(併合)してから中央へプッシュ・・という手順になります。
 プルできる状態(つまり中央の更新が先行している)にもかかわらず、プッシュしようとすると、警告が出る仕組みになっているため、中央のファイルは行き戻りなく更新されます。中央リポジトリでは直接マージは行わない。あくまでローカルリポジトリで最新データをマージした上で作業を進めます。プッシュは基本的に中央の状態を前進させる場合にのみ適用されます。

Fig12.png

右図(クリックで拡大)は、ローカルの変更をリモートにプッシュする様子です。ahead という表記は、ローカルの作業がリモートに先行していることを意味し、この状態でプッシュが可能です。プッシュが反映されると、GitHub上でもコミット単位での変更点が確認できます。


プルリクエスト(Pull Request)

GitHubのサービスにおいて、最も注目されているのが Pull Requestです。これはローカルリポジトリでの変更を他の開発者に通知する機能で、機能追加や改修などの作業内容を関係者に通知するかたちで、共同編集者間のコミュニケーションが生まれます。GitHubが謳うソーシャルコーディングの要となる機能です。

フォーク(Fork)

フォークとは他のユーザーのリポジトリを自分のアカウント内に複製することを言います。任意のユーザに対し、以下のような手順でその開発に貢献、あるいは派生版を作成することができます。

フォーク(複製)したリポジトリは自分の所有物なので、自由に更新ができます。これは従来のCopyrightとは異なるOSS開発に特有の発想です。
 ここから派生した別のプロジェクトが動き出すことも多く、実際OSSには多くの派生版が存在します。

課題管理(Issue)

プログラムのバグや機能追加の要望などを管理するツールとして Issueという一種のSNS機能があります。ここには誰でも自由にコメントや画像を投稿することができるため、開発に関わる議論をわかりやすく可視化することができます。組織によっては、これをディレクター、デザイナー、営業スタッフも含めて活用しています。

GitHub ページ

GitHubリポジトリから直接Webサイトをホストする機能としてGitHubPagesがあります。開発中のリポジトリにHTML、CSS、JavaScriptで構成された静的なウェブサイトがある場合、これをGitHubサブドメインでホストすることができます。更新と同時にチェックができる点でWeb制作のプロジェクトにとっては特筆すべき機能です。




付記:GitHubソースの埋め込み

gist-it

gist-it.appspot.com – Embed files from a github repository like a gist
というサービスを利用すると簡単です。

以下のいずれかのソースを書くだけで簡単にHTMLに埋め込み可能です。

<script src="http://gist-it.appspot.com/http://github.com/$file"></script>
<script src="http://gist-it.appspot.com/github/$file></script>

上記2行は書き方が違うだけで、同じ動作をします。
要は、src=の部分、http://gist-it.appspot.com/ に続けて、ファイルのアドレスをそのまま入力すればOK・・ということです。
$file の部分は、一般に以下の形式です。

ユーザ名/リポジトリ名/・・/ブランチ名/ファイル名

以下、具体的な埋め込み事例です。以下のコードが埋め込まれています。

<script src="http://gist-it.appspot.com/github/koichi-inoue/SampleSite/blob/master/index.html"></script>


gist

GitHubのアカウントを持っている人であれば、Gistを使って、ソースの埋め込みコードを取得することもできます。

以上。




PAGES

GUIDE

DATA

Last-modified: 2019-09-24 (火) 14:43:27