Git 初心者のための GitHub Pages

Preview:

DESCRIPTION

北海道科学大学 電子計算機研究部 ネットワークチーム講座資料

Citation preview

Git 初心者のための GitHub PagesGit を使って Web サイトを公開する

Git で分散型バージョン管理

GitHub Pages で手軽に Web サイト

SourceTree で黒い画面も怖くない

ツールの導入

git add & commit & push

Git で分散型バージョン管理

Git とは

ソースコードの変更履歴を管理する

過去と未来を行き来できる

分散型 (Subversion とは異なる)

Git(ギット)は、プログラムのソースコードなどの変

更履歴を記録・追跡するための分散型バージョン管理システムである。

- Wikipedia (Git)

変更履歴を時系列で管理

左が過去で一番右が現在 or 未来を示す。

三本の線は branch (ブランチ)と言い、平行世界を作り出せる仕組み。

Steins;Gate 好きな人には世界線と言えば通じる…?

この丸いポチポチが変更履歴

分散型と集中型

ファイルシステム ファイルシステム

ファイルシステム ファイルシステム

リポジトリ リポジトリ

共有リポジトリ 中央リポジトリ

分散型 集中型

commit commit

commit commitpushpush

分散型手元の環境でバージョン管理が完結する

commit するためにネットワーク環境が必

要になることはない

リポジトリの内容を他のリポジトリへ反映

(push) することで共有できる

安易にブランチを切って平行世界を作れる

ファイルシステム

リポジトリcommit

Git の基本的な使い方

git add でリポジトリに commit するファイル、

変更箇所を指定

git commit でリポジトリに変更履歴を書き込む

git push でリモートリポジトリに変更履歴を反映

git pull でリモートリポジトリの変更履歴を

ローカルのリポジトリに反映ファイルシステム

リポジトリ

リモートリポジトリ

commit

pushpull

GitHub Pages で手軽に Web サイト

GitHub とは

Git のリモートリポジトリ (共有リポ

ジトリ) をホストするサービス

チケット管理や Wiki, SNS のような

機能も提供されている

GitHub(ギットハブ)はソフトウェア開発プロ

ジェクトのための共有ウェブサービスであり、Git

バージョン管理システムを使用する。 - Wikipedia (GitHub)

GitHub Pages

プロジェクトの Web サイトを素早く

作る事のできるサービス

ユーザまたは組織の Web サイトをそ

れぞれ一つまで持つことが出来る

GitHub のアカウントとリポジトリ

さえあれば直ぐに作れる

独自ドメインも利用可能

GitHub アカウント作成

SourceTree で黒い画面も怖くない

SourceTree とは

Git のフロントエンドアプリケー

ション

GUI で Git が使える

基本的に黒い画面を見なくて良い

ツールの導入

SourceTree で検索!

インストール

初期設定

Mercurial も Git と同様に分散型バージョン管理

システムの一つ。今回は不要。

初期設定

初期設定

起動時の画面

Git と SSH

Git では SSH というプロトコルを用いて、リモートリポジトリと通

信する (22 番ポートを使う)

SSH は暗号化された経路でデータを送受信する

主にリモートマシンの遠隔操作に使われる

UNIX, Linux にはデフォルトで入っていることが多いが、 Windows で

は別途インストールする必要がある

公開鍵暗号と公開鍵認証公開鍵暗号では、公開鍵と秘密鍵を使って暗号化、復号を行う

公開鍵で暗号化→秘密鍵で復号

(主に共通鍵暗号で用いる鍵の安全な交換方式として利用される)

公開鍵認証とは、リモートマシンに予め公開鍵を登録しておき、ペアになる秘密鍵によって署名されたデータを検証する事で利用者を認証する方式

SSH 鍵の生成

ウィンドウ左上

起動

2048 に設定する

SSH 鍵の生成

Generate ボタンを押して、

ウィンドウの上でマウスカーソルを躍らせる。 !

→より強力な乱数シードが使われ、推測不可能な鍵が生成される。

SSH 鍵の生成

passphrase (≒パスワード) を設定せず

に保存しようとすると警告が出る。

SSH 鍵の生成 ドキュメントに ssh というフォルダ

を作成して、その中に鍵を保存する。

秘密鍵を git というファイル名で保存。

SSH 鍵の生成

公開鍵を git.pub というファイル名で

保存

SSH 鍵の登録

設定1

2

3

SSH 鍵の登録

メモ帳で開く

SSH 鍵の登録

SSH 鍵の登録

先頭 2 行と末尾 1 行

を削除し、先頭に

ssh-rsa を追記する。

SSH 鍵の登録

SSH 鍵の設定

先ほど保存した秘密鍵を選択する。

Add Key はパソコンを起動する

毎に行う必要がある。

SSH 鍵の設定

設定したパスワードを入力する。

View Keys から追加されている

鍵一覧を確認できる。

SSH を使う際は Pagent を起動して秘密鍵を

読み込んでおく必要があるので注意。

git add & commit & push

Web サイトを作ってみようリモートリポジトリの作成

git clone (リモートリポジトリのクローン作成)

git add (commit するファイルを選択)

git commit (歴史を残す)

git push (公開)

リポジトリの作成

リポジトリの作成

リポジトリの作成

コピー

貼付け

リポジトリのクローン作成

リポジトリのクローン作成

リポジトリのクローン作成

リポジトリのクローン作成

エクスプローラで表示

ここに公開するファイルを置いていく。

.gitignore. という名前で新しいファイルを作成。

最後の . を入力しないとエラーが出るので注意。

エディタで開いて編集

.gitignore には、 Git でバージョン管理をしないファイル

を列挙する。 * はワイルドカードで、 ! で始めると、逆の意味になる。

index.html を追加。

ドラッグ&ドロップ

git add

コミット

git commit

開く

刻んできた歴史が表示される

同様に README.md ファイルを

作成して、コミット。

GitHub へ push

インターネットに繋がって いないとエラーが出る。

http://username.github.io/

username は GitHub の

アカウント名

※初回の push から反映までには 10 分程度掛かる。

2 回目以降は即時反映。

ブラウザで開く