github

WindowsやMacOSXでgithubを使うためのメモ。ここではgit自体のセットアップは省いている。gitのセットアップはこちら

なお、無料アカウントだと300MB縛りがあるのでバイナリをぼこぼこコミットしたプロジェクトを移行するのは注意が必要そうだ。お金を払えば60GBまでいけるので必要に応じて有料を検討しても良いかもしれない。paypalのdonateと連動してユーザが払ってくれるとうれしいな。
https://github.com/account/billing

github用のセットアップ

git config --global user.name "Namae Myouji"
git config --global user.email "mail@example.com"
git config --global github.user user
git config --global github.token 0123456789abcdef0123456789abcdef

github.tokenhttps://github.com/account の右下のAPI token。パスワードを変更するとtokenも変わるのでその都度設定しないといけない。

1. githubにアカウントを作る

2. .sshフォルダの確認

ファイルをアップする場合などgitプロトコルで取得する場合は認証が必要になるのでsshの設定をする

  • .sshフォルダを確認する。すでにsshを使っているなら再利用するなり、バックアップするなりしておく
OS フォルダ先
Windows + cygwin C:\cygwin\home{ユーザ名}.ssh
Windows(XP以前) + mysgit C:\Documents and Settings{ユーザ名}.ssh
Windows(Vista以降) + mysgit C:\Users{ユーザ名}.ssh
MacOSX /Users/{ユーザ名}/.ssh

3. 鍵の作成

  • Windows+cygwinの場合cygwin.batを起動、Windows+msysgitならmsys.batを起動、MacOSXならターミナルを起動し、以下のコマンドを実行する
    ssh-keygen -t rsa -C "メールアドレスとか"

    • 補足: メールアドレスとかのところが公開鍵のコメントになる。通常ssh接続されるサーバにはssh接続するマシンの数だけ公開鍵を持つことになるのでどの公開鍵がどのマシンのかがわかり易いように入れる。よくメールアドレスを使う例があるが個人的には複数マシンを使うためアカウント名@マシン名(makoto_kw@geminiとか)にしてる。
  • 保存先はデフォルト、パスフレーズはちゃんといれるべし。.sshフォルダにできたid_rsa.pubが公開鍵なのでこのテキストの内容をコピーする
    • Macならclipbordへ cat ~/.ssh/id_rsa.pub | pbcopy

4. 公開鍵を設定

GitHubへ公開鍵を貼り付ける。

  • https://github.com/account > Account Overview > SSH Public Keys
  • タイトルはマシンが特定できるようにつけておけば良いだろう

5. sshのテスト

  • ssh git@github.com
  • > Hi makotokw! You’ve successfully authenticated, but GitHub does not provide shell access. Connection to github.com closed.
  • shellは使えないよということでエラーがでるが、認証自体が成功していれば You’ve successfully authenticated と出る

パスフレーズは使いたくないけど、結局マシン盗まれたり乗っ取られたりしたら終わりだから使うべしとのことだ。
http://help.github.com/working-with-key-passphrases/

個人的にはローカルリポジトリで作業を済ませられるから、githubにはそれほど頻繁にpushすることはない気がする。
なのでまぁ打っても良いかという感じだ。

新規プロジェクトの作成

  1. githubにプロジェクトのリポジトリを作成する
  2. remoteのリポジトリを追加する
 git remote add origin git@github.com:GITHUB_USERNAME/REPO_NAME.git
 git push origin master

プロジェクトがフラットに並ぶのだが、特に関係なくプロジェクト名をそのまま入れている人が多い。ほとんどが小文字だがまれに大文字のまま入れている人もいる。スペースの代わりは - を使うことが多いようだが _ が少数というわけではなく、作ってるものの命名規則に沿っている場合も多そうだ。

githubでのリポジトリのリネーム

いろいろリポジトリを増やしているうちにやっぱり名前を変えたくなることがある。githubではAdministrationの昨日からリポジトリ名を変えることができる。

名前を変えた場合にクライアント側では git config.remote.{name}.url で設定を変更できる。たとえばorginという名前で設定してあるrepositryのurlを git@github.com:makotokw/renambed-repository.git に変更するには以下を実行すればよい。

git config remote.origin.url git@github.com:makotokw/renambed-repository.git

いきなりgithubに入れるのが怖い場合

ローカルのgitにいれてGitXとかで見るとよい

git init --bare LOCAL_DIR.git
git svn --authors-file=AUTHORS clone -s SVN_REPO_URL LOCAL_DIR
cd LOCAL_DIR
git remote add test ../LOCAL_DIR.git
git push test master