« 第18回オープンラボ岡山に参加しました。 | トップページ | Google App Engine for Goがリリースされました。 »

2011年5月 4日 (水)

githubを使ってみた。

GWに入って、災害復興支援ソフトウェアSAHANAのAndroidクライアントを
作っていました。

まだ、現時点では、少しデータが取得できて一覧表示できるのみなので
大したアプリケーションにはなっていません。

その状態でも、ソースコードを公開して欲しいという要望があったので、
ソースコードを公開するためにgithubを利用しました。

以前にも、中国GTUGのハッカーソンでgithubを利用していたのですが、
自分でリポジトリを作成したのは初めてだったので、コマンドなどを
メモしておこうと思います。

以下は、githubでリポジトリを新規作成した時のコマンド例です。

Next steps:

mkdir SahanaClient
cd SahanaClient
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@github.com:tyokoyama/SahanaClient.git
git push origin master
Existing Git Repo?
cd existing_git_repo
git remote add origin git@github.com:tyokoyama/SahanaClient.git
git push origin master
When you're done:
Continue

git push origin masterの部分はgithubで表示されるコマンドだと
git push -u origin masterになっていますが、Macだと(?)-uパラメータは
ないので、コマンドエラーになります。

私の場合はローカルでgitのリポジトリを運用していたので、
git remote…を利用してリモートURLを指定したのですが、
sshを使うための設定をしておかないと、Permission Deniedとなります。

MacBook:SahanaClient yokoyama$ git push origin master
Permission denied (publickey).

これを回避するために、sshの公開鍵を作成します。

Macの場合だと、ホームディレクトリ/.sshディレクトリのバックアップを
取っておきます。
MacBook:.ssh yokoyama$ mkdir key_backup
MacBook:.ssh yokoyama$ cp -p id_rsa* key_backup
MacBook:.ssh yokoyama$ ls -l key_backup/

バックアップを取った後、削除しても良いですが、私は上書きしました。
MacBook:.ssh yokoyama$ ssh-keygen -t rsa -C "your_account@mailaddress.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/yokoyama/.ssh/id_rsa):
/Users/yokoyama/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/yokoyama/.ssh/id_rsa.
Your public key has been saved in /Users/yokoyama/.ssh/id_rsa.pub.

コマンド実行後、色々出力されて、id_rsa*のファイルが作成されます。

最後に、id_rsa.pubに出力されたsshの鍵データをgithubの公開鍵に登録すれば
解決です。

|

« 第18回オープンラボ岡山に参加しました。 | トップページ | Google App Engine for Goがリリースされました。 »

Linux」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: githubを使ってみた。:

« 第18回オープンラボ岡山に参加しました。 | トップページ | Google App Engine for Goがリリースされました。 »