githubのセットアップ
備忘録です。
MacOS or Linuxならこれで大丈夫かと。githubにアカウント作成済み、gitは既に入れてあるものする。確か自分の環境では、Macならhomebrew経由でインストールするか、バイナリで配布されているものを使えばよい。Ubuntuなら「sudo apt-get install git」でおk。
SSH公開鍵をさくっと作る
githubとの通信にはSSHが必要になる。まずは公開鍵と秘密鍵のペアを作っておく。さっさと作ってしまおう。カレントディレクトリは自分のホームディレクトリで。
cd .ssh もし.sshディレクトリが存在しなければ mkdir .ssh <-.sshディレクトリに移動 ssh-keygen -t rsa -C "githubに登録したアドレス" <-公開鍵作成
ssh-keygenすると「どこに鍵作る?」などと聞いてくるが、.ssh内でよいので空のままEnterで。続けてパスワードが求められるので適当なパスワードを設定しておく。確認でもう一度タイプ。
--[ RSA 2048]---- | .=.E | | = | | + . | | o + o | | o O S | | o + = o | | + + o . | | o * . | | o . | +-----------------+
こんなんが出たら公開・秘密鍵のペアが作成されているはず。lsでid_rsa(秘密鍵)とid_rsa.pub(公開鍵)が出来ているのを確認する。
githubへ公開鍵の登録をする
githubにアクセスし、AccountSettingsからSSHKeysの項目を開き、新しく鍵を登録する。鍵は先ほど作った公開鍵のid_rsa.pubを使う。
cat id_rsa.pub
これで出力された文字列をコピーして、github側に貼り付ける。名前は適当に入れておく。保存すれば公開鍵の登録は終了。
試しにSSHでgithubに接続してみる
以下のコマンドを打つ。
ssh -T git@github.com
接続を許可するかどうか聞いてくるはず。そしたらyesと打ち込んであげればよい。あと恐らくクライアント側からパスワードが要求されると思う。「hogehogeさんこんにちは!とはいえまだ設定終わってないぜ!」みたいなこと言い出したら接続に成功している。ついでにgithubにpushしたときに使われる名前なども登録してしまう。
git config --global user.email "hogehoge" git config --global user.email "foo@bar.com"
リポジトリ作成とgit push
さて通信もできたところで、ささっとリポジトリ作成からpushするところまでやってしまいましょう。
ブラウザからgithubに行き、ダッシュボードかどこかで新規リポジトリ作成をクリック。TestRepoという名前にでもしておきましょうか。画面通りに進んで名前だけ決めておけばあと別になにもしなくてもよい。
で、github側の登録が済んだら、再び端末。ローカルリポジトリを作りましょう。カレントはどこでもいいので、リポジトリを置きたい場所でブラウザで作ったリポジトリと同名のディレクトリを作成する。
mkdir TestRepo cd TestRepo git init TestRepo touch UNKO echo TestRepo is my first contact by git. > UNKO
git initは文字通り初期化、リポジトリの作成コマンドである。gitリポジトリの管理ファイルなどがこのコマンドを打った後作成されているはずである。なんでもいいのでとりあえずファイルを作るためにtouchしている。一応UNKOファイルに文字を入れておく。ファイルが無事できたが、それをローカルリポジトリに登録していないので登録しておく。コミットもここでしておかなければならない。サーバー側のリポジトリ(github側)にpushするときにエラーが出る。
git add UNKO git commit -m 'unko!!!'
無事ファイルがローカルリポジトリにadd,commitできたら、サーバー側に上げてやる。初めてpushする前に、まずはリモートリポジトリがどこにあるのか設定する一文を書いてやらなきゃならない。
git remote add origin git@github.com:"ゆーざー名"/"リポジトリ名(ここではMyRepo)".git git push -u origin master
これで怒られずにpush完了のお知らせが来ていることを待つ。githubにアクセスして、期待通りTestRepoにUNKOファイルがあれば無事セットアップ完了。お疲れさまでした。
あとの流れ
ローカルリポジトリとリモートリポジトリが無事繋がったので、あとはやりたい放題。リポジトリ管理に入れたいファイルやディレクトリをTestRepoに入れるなり、また新しくリポジトリを作成したりなど。既存のリポジトリに追加する場合、基本的には以下のコマンドでおk。
git add hoge git commit -m 'massage' git push -u origin master
githubからリポジトリをコピーするコマンドをよく忘れるのでこれも追記。
git clone git://github.com/xxxx/xxxx/xxxx.git