githubは、cloneするとき
# git clone git://github.com/yappo/konnitiwa.git
の代わりに
# git clone http://github.com/yappo/konnitiwa.git
とgitをhttpにするとclone出来るのは知っていたのですが、pushはsshを使うのでport 22が開いてないとpush出来ない物と信じ込んでいました。が、今日解決しました。以下私がWindowsで行った手順
Windowsじゃない人は最初の部分はすっ飛ばして下さい。
Git for Windowsを入れる
まずmsys Gitというのを入れます。msysgit - Google Code注意点としては、PATH環境変数の設定具合によってはmsys Gitに含まれるコマンドライン郡の方が先に認識され、思う動きにならない可能性があります。例えば私の場合svn/trunkなvimを使っていますがmsys Gitにもvimが含まれている為、commit時にエラーが出たりします。
http://code.google.com/p/msysgit/downloads/list
SSHキーを生成する
msys Gitに含まれるssh-keygenで生成します。
# ssh-keygen -C "xxx@example.com" -t rsa
以下省略
SSHキーをgithubに登録する
アカウントページにid_rsa.pubの値を貼り付けます。https://github.com/account
Titleは適当に"my windows abazure"と名付けました。
github.comへのssh接続を変更する
github.comへのSSH接続にはホスト名"ssh.github.com"、ポート"443"に接続する様に設定します。※このssh.github.comが味噌です。
~/.ssh/config
Host github.com
User git
Hostname ssh.github.com
Port 443
IdentityFile c:/docume~1/mattn/.ssh/id_rsa
秘密鍵のパスをお間違え無く。後はpushしまくれ
本当にpushしまくるのは良くないでしょうが...yappo's konnitiwa at master — GitHubをforkし
こんにちわ
http://github.com/yappo/konnitiwa/tree/master
# git clone git@github.com:mattn/konnitiwa.git
Enter passphrase for key 'c:/docume~1/mattn/.ssh/id_rsa':
remote: Counting objects: 9, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 0), reused 6 (delta 0)
Receiving objects: 100% (9/9), done.
とclone出来ますのでREADMEを編集後に
# git commit -a -m "added oops"
Created commit 109bbff: added oops
1 files changed, 1 insertions(+), 0 deletions(-)
# git push
Enter passphrase for key 'c:/docume~1/mattn/.ssh/id_rsa':
Counting objects: 5, done.
Writing objects: 100% (3/3), 264 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:mattn/konnitiwa.git
66a8481..109bbff master -> master
でpush出来ます。port 443なので防火壁内の人でもpush出来るかと思います。既にみんな知ってる話だと恥ずかしいですが...それと昨日書いたニコニコ動画ダウンロードプログラムをgithubで作っていく事にしました。
mattn's nicodown at master — GitHubcodereposでも良かったのですが、なんなくgithubを使ってみたくなったので...
http://github.com/mattn/nicodown/tree/master
よいgithubライフを。