githubをはじめてみます
今年の目標として、githubを使ってみるというのが有りました。昔から公開ソースは適当に自分のサイトにアップしていたのですが、githubを使うと管理も楽そうだし、いろいろな人がforkして簡単に使ってもらえそうなので、githubを使ってみたいと思った次第です。
アカウント作成
githubにアクセスして、中央にある「Plans, Pricing and Signup」ボタンを押します。そして、出てきた画面の「Create a free account」を押します。
次に、UsernameとEmail AddressとPasswordを入力して「Create an account」ボタンを押せば登録終了です。
Gitのインストール
githubというくらいなので、Gitを使う環境を用意する必要があります。今使っている環境のWindows7にはGitをインストールしていませんでした。そこで、msysgitをインストールすることにします。
msysgitのダウンロードサイトから Full installerをダウンロードしました。
インストーラを起動するとビルドが始まりました。しばらく待っているとビルドが終了し、下のようなシェルが起動しました。
インストールしてもスタートメニュにも特にショートカットができないので、add-shortcutでショートカットを作ることにしました。
$ /share/msysGit/add-shortcut.tcl q s s2
クイックメニュとスタートメニュとスタートメニュのプログラムにmsysGitを作るように指定したのですが、クイックメニュにしかショートカットができませんでした。何故なんだろうWindows7だからかな?
仕方が無いので、自分でC:/Users/ユーザ名/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/以下にショートカットをコピーしました。
SSH Keyの作成
githubにソースを登録するにはSSH Keyの公開鍵をgithubに登録する必要が有ります。とりあえず、新たにSSH Keyを作成することにします。
この鍵の作成に少し手間取ってしまったので、失敗談を書いておきます。
まず、どこにSSH Keyを生成するかですが、msysgitをインストールしたフォルダ(/c/msysgit/msysgit/git)に生成することにしました。これが話をややこしくした根源でした・・・。
$ cd /c/msysgit/msysgit/git $ mkdir .ssh $ ssh-keygen -t rsa -C "address@foo.com" Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/略/.ssh/id_rsa): /c/msysgit/msy sgit/git/.ssh/id_rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/msysgit/msysgit/git/.ssh/id_rsa. Your public key has been saved in /c/msysgit/msysgit/git/.ssh/id_rsa.pub. The key fingerprint is: (略)
passphraseは無しでもいいですが一応入れました。これで、.ssh/下に、id_rsa(秘密鍵)とid_rsa.pub(公開鍵)ファイルができています。
githubに公開鍵の登録
githubにログインして、設定メニュのSSH Keysを選びます。
そして、「Add New SSH Key」を押します。
次に、id_rsa.pubファイルの中の文字列を丸々コピーしてKey欄に貼り付け、「Add key」ボタンを押します。タイトルに何も入れなくても、id_rsa.pubの最後の文字がタイトルとして割りついてくれます。後からタイトルは変更可能です。
SSH Key登録の確認
githubに公開鍵が登録できたかどうかを調べるには、ssh git@github.comで確認するとあったので、やってみました。
$ ssh -T git@github.com Permission denied (publickey). $ ssh git@github.com Permission denied (publickey).
ダメでした。環境設定を見てみました。moreが使えないの?
$ set > set.log
いろいろ調べると、どうもHOME=/c/Users/ユーザ名 となっているのがまずいらしい。そういえば、ssh-keygenのデフォルトの鍵ファイル位置もHOMEになっていたし。そこで、HOME位置を見てみると、.SSHフォルダができている。中を覗くと、known_hostsファイルがありgithub.comが登録されている。やっぱりHOMEを見に来ているのかということが分かり、環境変数HOMEの内容を変更すると、問題が出るといけないので、先ほどの/c/msysgit/msysgit/git/.ssh/フォルダ下に生成した鍵ファイル2つを、ここにコピーしました。
そして、もう一度、ssh git@github.comを試みる。
$ ssh -T git@github.com Enter passphrase for key '/c/Users/略/.ssh/id_rsa': Hi tarosay! You've successfully authenticated, but GitHub does not provide shell access.
できました。ちゃんとつながりました。
次は、ソースの登録に挑戦したいと思います。