コンピュータを楽しもう!!

今、自分が面白くていろいろやってみたことを書き綴りたいと思います。連絡先はtarosa.yでgmail.comです。

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.

できました。ちゃんとつながりました。
次は、ソースの登録に挑戦したいと思います。