LogoMark.png

GitHub

GitHub

https://github.com/

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


CONTENTS




アカウントの取得

GitHubを利用するには、まずアカウントの取得(Sign Up)が必要です。手続きは簡単でメールアドレスの認証が済めばすぐに利用できます。

はじめに

アカウント取得の手順

以後、GitHubを使う場合は、Sign in をクリックして、ID,PW を入力してログインして下さい。

付記:ログイン(Sign in)ログアウト(Sign out)について




個人利用

中央リポジトリの構築

はじめに、GitHub上に新規のリポジトリを作ります。リポジトリとは、Webサイトやファイルセットなどを GitHub 上で管理するためのプロジェクトフォルダ・・とご理解下さい。リポジトリはいくつでも作ることができます。

NewRepository01.png
NewRepository02.png


ファイルのアップロード

upload.png
commit.png

リポジトリの更新方法

以下のように大きく3つの方法があります。

以下、順に説明します。

GitHub上で直接編集

リポジトリとオーナー(あなた)は、GitHub上のリポジトリのファイルに対して、GitHub のエディタを使って直接編集を行うことができます。

以上は、簡易的な編集方法です。以下、ローカルで編集を行ってリポジトリを更新する方法を紹介します。

ローカルで編集 > Add file > Upload files

次に、GitHub のリポジトリのメニューを使って、リポジトリを更新する方法を紹介します。

以上で、リポジトリ上のファイルが最新に更新されます。

ローカルリポジトリで編集 > Push

本格的に活用する場合は、ローカルリポジトリにクローン(リポジトリの複製)を作成して、手元のエディタで編集 > ローカルでコミット > リモートへプッシュ・・という手順でリポジトリを更新していきます。

Gitクライアントを使う方法と、Terminalコマンドを使う方法があります。

Gitクライアントを使った更新

前提として、Gitクライアントというアプリケーションを、ローカルPC上にインストールすることが必要です。有名なものに SourceTree がありますが、リモートのサービスとしてGitHub を使う前提なので GitHub Desktop がおすすめです。

GitHubDesktop.jpg

Terminal の Gitコマンドを使った更新

MacOS では、Gitの環境がインストール済みなので、すぐに使えます。

以上、Terminal の Gitコマンドによるリポジトリの更新方法でした。



共同編集

中央リポジトリの構築

個人で利用する場合同様に、GitHub上に中央リポジトリが必要となります。一般にリーダーが上記と同じ手順でこれを構築します。

メンバーの招待

共同編集を行うには、当該リポジトリに招待相手の GitHubアカウントを指定して招待作業を行う必要があります。

以上で、招待された側がフィアルの共同編集に参加することができます。

invite01.jpg
invite02.jpg
AcceptInvitation.jpg
contributors.jpg
Fig.1Fig.2Fig.3Fig.4


リポジトリの更新方法

以下のように大きく3つの方法があります。

具体的な作業は、個人利用の場合(前の節で説明済み)と同じです。

中央リポジトリの状態について

ここで重要なことは「中央リポジトリを常に正の状態(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制作のプロジェクトにとっては特筆すべき機能です。

事例

Git




付記: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

TOOL

DATA

添付ファイル: fileRepositoryImage01.png 80件 [詳細] fileRepositoryImage02.png 24件 [詳細] fileRepositoryImage03.png 66件 [詳細] fileGitHubDesktop.jpg 93件 [詳細] fileinvite01.jpg 93件 [詳細] fileinvite02.jpg 77件 [詳細] fileAcceptInvitation.jpg 70件 [詳細] filecontributors.jpg 64件 [詳細] fileNewRepository01.png 94件 [詳細] fileNewRepository02.png 95件 [詳細] fileupload.png 117件 [詳細] filecommit.png 115件 [詳細] filecomplete.jpg 89件 [詳細]
Last-modified: 2021-04-29 (木) 21:43:34