GitHubビギナーズマニュアル
本サイトで公開している教材は、GitHubで管理しています。GISソフトウェアのバージョン変更により、本教材が対応しない場合に利用者による教材の修正案の提出が可能になります。また、教材修正の要望や質問投稿などが行えます。
以下では、GitHubの基本操作と本教材の変更方法(Pull request)や質問投稿(Issue)について解説しています。教材変更や質問投稿についてのみ知りたい場合は、Pull requestによる教材の変更とIssueによる投稿を参照してください。
本教材を使用する際は、利用規約をご確認いただき、これらの条件に同意された場合にのみご利用下さい。
Menu
- GituHubとは?
- GitHubアカウントの取得
- 用語の解説
- クライアントソフトのインストール
- Repositoryの作成
- gh-pagesを作成する
- Repositoryをcloneする
- Pull_requestによる教材修正の提案
- Issueによる投稿
GitHubとは?
- Git(バージョン管理システム)をホスティングするサービス
- 複数人による開発(リモート作業)が可能
- コラボレーションツールによる、円滑なコミュニケーション
- web開発や出版などにも活用されている
塩谷啓,紫竹佑騎,原一成,平木聡(2014)『Web制作者のためのGitHubの教科書 チームの効率を最大化する共同開発ツール』を参考に作成
GitHubアカウントの取得
以下では、GitHubを利用するためのアカウントを取得する手法について解説しています。まず、GitHubのサイトにアクセスして、ページ右上のSign up
をクリックする。
Free を選択し、Finish sign up
をクリックする。
GitHubアカウントが作成できた。登録したメールアドレス宛に、確認メールが届いているためそれを開き、Verify email address
をクリックする。
用語の解説
GitHubの操作中では、以下の用語が良く利用される。
repository ・・・ プロジェクトが保存される場所、ローカルリポジトリとリモートリポジトリがある。
fork ・・・ 他人のリモートリポジトリを自分のリモートリポジトリにコピーすること。
branch ・・・ プロジェクトを分割したもの、branchをつくることで複数人による同時編集を効率化する。
clone ・・・ 他人もしくは、自分のリモートリポジトリを複製して、ローカルリポジトリにコピーすること。
commit ・・・ ファイルの変更履歴をまとめて記録すること。
push ・・・ ローカルリポジトリの編集をリモートリポジトリに反映させること。
Pull Request ・・・ 自分の変更を別のリモートリポジトリにマージしてもらうための依頼。
merge ・・・ 複数のブランチとコミットをまとめ一つにすること。
Issue ・・・ 作業の進度や疑問点などを報告するためのコミュニケーションの場。
塩谷啓,紫竹佑騎,原一成,平木聡(2014)『Web制作者のためのGitHubの教科書 チームの効率を最大化する共同開発ツール』を参考に作成
クライアントソフトのインストール
クライアントソフトは、ローカルのリポジトリとWebのリポジトリを繋げ、両リポジトリの編集結果をやり取りできる。ソフトウェアはいくつかあるが、環境や作業感に合わせて使いやすいものを選択する。ここでは、GitHub desktopを利用し解説している。https://desktop.github.comにアクセスし、クライアントソフトをインストールする。
インストールしたクライアントソフトを起動すると以下のような画面が表示される。※指定した場所にGitHubフォルダーが作成され、そのフォルダーの変更内容がクライアントソフトと連動する。
Repositoryの作成
New repositoryをクリックすると、新規にRepositoryを作成することができる。
Repository nameを入力し、READMEをチェックし、Create Repository
をクリックする。
echizenとい名前のrepositoryが新規に作成された。
gh-pagesを作成する
GitHub Pagesは、静的なWebサイトをテストすることができる機能である。この機能を利用すると、簡易的なWebサイトを構築し、公開することができる。GitHub Pagesの設定は、Settings
をクリックし、source > master branch > Save
をクリックして行う。
GitHub Pagesにhttps://yourID.github.io/echizen/
が追加される
repositoryをCloneする
repositoryの編集は、ローカルだけでなくweb上でも編集が可能だが、以下ではローカルで編集したものをWebにアップロードする手法について解説している。Clone In Desktop
をクリックすると、ローカルにrepositoryを複製することができる。
クライアントソフトが自動的に立ち上がるので、複製するディレクトリを選択する。自動で立ち上がらない場合は、手動でクライアントソフトを立ち上げる。
- ローカルに複製したリポジトリが表示される。
- リポジトリの編集が表示される。
- リポジトリの内の編集の詳細が表示される。
- Webのリポジトリに繁栄させるため、ローカルの変更内容をタイトルと詳細として記入する(コミット)。
- Webのリポジトリに変更内容を反映させる(push)。
- branchの切り替え。
repositoryの編集
ここでは、ローカルからのアップロードの練習として、画像ファイルをリポジトリに追加し、webで表示していく。
リポジトリを複製したディレクトリを開き、画像ファイルを追加する。
フォルダ内に画像を追加したことが、クライアントソフト上で表示される。編集を有効にするには、コミットメッセージを入力し、 Commit to master
をクリックし、 Push origin
をクリックする。
Sync
が完了すると、デフォルトの画面が表示される。Webのリポジトリにローカルの編集内容が反映されている。
GitHubで作成したリポジトリにアクセスし、画像が追加されていることを確認する。
Settings
をクリックし、アドレスをコピーし、画像のタイトルと拡張子をつけ、Webブラウザで検索する。
http://(ユーザー名).github.io/echizen/echizen_logo.png
Webに画像がアップロードされていることを確認できた ※ gh-pagesを利用した、WebでのGISデータの公開などについては、別ページで解説している。
Pull_requestによる教材修正の提案
GitHubで教材ページのリポジトリを開く。
Fork
をクリックすると自分のリポジトリにコピーされる。自分のリポジトリに戻り、Forkしたリポジトリを開き、branch名を入力し、編集用のbranchを作成する。
作成したbranch内の.mdファイルを開き、編集を行う。 今回は、ベクタの読み込みに一文追加している。 編集終了後に、Commit changes をクリックする。
編集用のリポジトリに戻り、Compare & Pull requestをクリックする。編集内容を入力し、Create pull request をクリックする。
管理者によってPull requestがマージされると右のような画面が表示される。
※ forkしたリポジトリは、fork元のリポジトリの変更は反映されないため、GitコマンドかSourcetreeの追跡機能を利用する必要がある。
Issueによる投稿
本来はソフトウェア開発等に利用する技術的な意見交換等に利用されるIssueを利用して、質問や教材改良の要望を受け付けている。
教材ページのリポジトリへ行き、New issueをクリックし、issueを立ち上げる。質問や要望などを入力し、submit new issueをクリックする。
質問や要望への返答は右の画面のように表示される。issueでは、画像を送ることも可能。
ライセンスに関する注意事項
本教材で利用しているキャプチャ画像の出典やクレジットについては、その他のライセンスについてよりご確認ください。