GitHubにはGistというソースコードを共有するサービスがあります。まだ使ったことがなかったのでどのようなサービスなのか試してみました。

Gistとは

GistについてのページがGitHub Helpにあります。
About gists

以下のような特徴があるようです。

  • コードの共有ができる
  • 登録したgistはGitのリポジトリになるのでFork、Cloneができる(バージョン管理ができる)
  • Publicなgistとsecretなgistがある
  • zipファイルとしてダウンロードできる
  • ブログなどに埋め込むことができる(javascriptとして埋め込む)

Gistに登録

  1. GitHubにサインイン
  2. Gistのページにアクセス gist_1
  3. 登録するgistの説明とファイル名(拡張子含む)を入力(オプション)
  4. 真ん中のテキストボックスにコードを入力
  5. 別のコードを追加する場合は、Add fileをクリック
  6. インデントモード、インデントサイズ、改行モードを変更する場合はプルダウンで変更(画像の赤枠部分)
  7. 非公開のgistを作成する場合はCreate secret gist、公開するgistを作成する場合は、Create public gistをクリック

今回は以下の内容でpublic gistとして登録してみました。 gist_2

ブログにコードを埋め込む

  1. 登録したgistの上部に表示されているプルダウンでEmbedを選択しテキストの内容をコピーする(赤枠のボタンでコピーできる) gist_3
  2. ブログの中に貼り付け

実際に貼り付けた内容が以下です。

Gistをcloneして編集してみる

gistの画面の上部にあるEditボタンをクリックするとWeb上でgistの更新ができますが、cloneしてローカルで編集し再度pushしてみます。

  1. 登録したgistの上部に表示されているプルダウンでClone via HTTPSまたはClone via SSHを選択しテキストの内容をコピーする(赤枠のボタンでコピーできる) gist_4
  2. Git Bashを起動
  3. cloneするディレクトリに移動し、git cloneを実行
$ git clone git@gist.github.com:935d867e7a2aabe7d3eea2e4924d5346.git js_sample

以下のようなメッセージが表示される。
GitHub’s SSH key fingerprintsにあるfingerprintsと一致することを確認し、yesを入力

The authenticity of host 'gist.github.com (192.30.253.119)' can't be established
.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?

cloneすることができましたが、以下の警告メッセージが表示されました。

Warning: Permanently added 'gist.github.com,192.30.253.119' (RSA) to the list of
 known hosts.

SSH関連についてはまた後日調べようと思います。
とりあえずcloneはできたので普通のリポジトリのように編集してcommit、pushしてみます。

$ ls
test.html

ファイル名は入力したファイル名となっています。

$ vi test.html
# alertを1行追加 (Hello World2!)
$ git add test.html
$ git commit -m "add Hello World2"
$ git push origin master

再度、Gistのページを開きます。 gist_5
更新されていることを確認できました。ここでRevisionsをクリックすると履歴が確認できます。 gist_6