ここでは以下の作業について多少手間取ったところなど、より詳しい作業履歴を残します。
①GitHubアカウントのセットアップ
②SSH鍵の設定
③サンプルリポジトリのフォーク
①GitHubアカウントのセットアップ
まずGitという時点で二の足を踏んでしまいます。
私も知識がないのですが、GitはSubversion等と同じく昔からあったソース管理の仕組みです。GitHubはどうやらWEB上にソース管理のための保存領域を持つようです。
書籍は素敵に5行で終了していますが、アカウントを作る手順は以下です。
(1)サイトにアクセスし、「sign up」ボタン押下
URL:https://github.com/plans
※「Create a free account」とかないし・・・
(2)必要事項の入力等
ユーザー名、メールアドレス、パスワードの入力と、無料(free)のプランで入力
これが完了すると、GitHubを利用できるようになります
正常にログインできれば、アカウントのセットアップは完了です。
②SSH鍵の設定
ここがハマりました。素敵に4行で終わっている・・・。
とりあえず何をやらないといけないかというと、SSH通信に使う鍵の作成と登録です。
(1)公開鍵/秘密鍵のペアを作る
(2)GitHubのサイトに公開鍵を登録する
(3)SSHでGitHubに接続する
確かに書籍にある通り、必要なことは以下に記載されています(英語だけど)。
URL:http://help.github.com/set-up-git-redirect
ただ、どちらかというと作業は以下のURLの方が参考になります。
URL:https://help.github.com/articles/generating-ssh-keys/
作業は以下でした。
(1)公開鍵/秘密鍵のペアを作る
実行ユーザーのホーム直下にフォルダ「.ssh」がある事を確認します。
なければ、以下コマンドで作成。
mkdir ~/.ssh
公開鍵/秘密鍵のペアを作成
ssh-keygen -t rsa -b 4096
※「-C jenkins@hoge.com」等のオプションはコメント用なので、今回省略
※「-t rsa」はRSA暗号鍵で生成
※「-b 4096」は4096ビットで鍵生成
パスフレーズは必要に応じて設定しましょう。今回は強固な暗号通信は必要ないので省略。
(2)GitHubのサイトに公開鍵を登録する
公開鍵の情報を画面表示して、GitHubのサイトにコピペする作業です。
以下のコマンドで公開鍵情報を画面に表示。
cat ~/.ssh/id_rsa.pub
そのまま、ブラウザでGitHubにアクセス(ログイン)します。
ログインした状態だと右上に人型のアイコンが表示されるので選択し、更に表示されるメニューから「Setting」を選びます。
入力画面では「title」に適当に分かり易い名前を入力し、「Key」にさきほどコピーした公開鍵情報を貼り付けます。
終わったら「Add key」ボタン押下。
(3)SSHでGitHubに接続する
ここで以下の通り、ハマりました。
(gitでcloneできない、ssh-addできない等($`ssh-agent -s`実行以外の問題)
手順としては、さきほど秘密鍵/公開鍵のペアを作ったユーザーで以下コマンドを実行
eval $`ssh-agent -s` ssh-add ~/.ssh/id_rsa
③サンプルリポジトリのフォーク
フォーク、ローカルリポジトリ、クローンと意味不明用語が並びます。
ちょっと不確かでしが、どうも以下のよう。
・フォーク:GitHub上で別のリポジトリから、自分のアカウント領域にコピーを作る
・ローカルリポジトリ:自分のローカルマシン内のリポジトリ
・クローン:GitHub上のリポジトリをローカルマシン内にコピー
だから作業としては以下の順番。
1.サンプルを提供している人のリポジトリを自分のGitHubアカウント領域にコピー(フォーク)
→GitHubにログインした状態で、コピーしたい公開リポジトリにアクセス(書籍にURLあり)
そこで以下の「fork」ボタンを押下し、自分の領域にフォークする。
2.コマンドを使って、GitHub上のフォークしたリポジトリをローカルリポジトリにコピー(クローン)
→1が終わったら、以下コマンドを実行
git clone git@github.com:ユーザー名/リポジトリ
以下のような表示が出て、doneまで表示されればクローン完了です。
Cloning info 'リポジトリ名'... remote:Counting objects:9146, done. ... ... Checking connectivity... done.
ここは2、3日うまく進められず、苦労しました・・・。