概要
初めてGitHubにアカウントを作った人が、コマンドでリモートリポジトリにプッシュできることを確認するまでの手続きをメモします。
対象読者
- 複数のGitホスティングサービスを使いたい
- リモートリポジトリとのやりとりにパスワードを聞かれないようにしたい
- Gitの使い方はある程度わかる
- GitHubは初めて
想定環境
- Gitはインストール済み(まだの方はこちらから)
- ローカルPCはMac
手順
GitHub側で新規リポジトリ作成
Repository nameにリポジトリ名を記入し、Create Repositoryで新規作成
以下の画面に移るので、赤枠URLを覚えておく。
(特にSSHが選択されていることを確認。HTTPだと公開鍵登録したあとの通信がうまくいかない)
ローカルに鍵を生成
$ ssh-keygen -t rsa -f ~/.ssh/github -C "適当なコメント"
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): (そのままEnterキーを押す)
Enter same passphrase again: (そのままEnterキーを押す)
【任意】秘密鍵の方をわかりやすくリネームしておく
$ mv ~/.ssh/github ~/.ssh/github.pem
秘密鍵のパーミッション変更
$ chmod 600 ~/.ssh/github.pem
Gitの接続設定
接続情報を追記する。
- ここの設定で各Gitホスティングサービスの鍵情報を個別に設定することによって、プッシュ時に自動で接続情報を切り替えてくれるようになる。
- Hostは任意でいいかと思って適当なものを入れていたが、接続に失敗した。注意。
$ vim ~/.ssh/config
Host github.com (※絶対これ)
HostName github.com (※絶対これ)
IdentityFile ~/.ssh/github.pem
TCPKeepAlive yes
IdentitiesOnly yes
User git (※絶対これ)
Port 22
GitHubに公開鍵を登録する
ローカルの公開鍵を確認+クリップボードへコピー
(catコマンドででてきた長い文章を頭から全てコピーしておく。ターミナルでは折り返しで表現されているかもしれないが、実物は長いひとつながりの一文のデータ。コピー時に改行コードが混ざるとうまく繋がらないので注意。)
$ cat ~/.ssh/github.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAB......
GitHubに戻って、右上メニューからSettingsを選択
左メニューより「SSH and GPG keys」を選択し、右上緑色の「New SSH Key」を選択。
接続確認する。
ローカルにリポジトリを作成
$ mkdir ~/githubtest
$ mkdir ~/githubtest/gittest/
$ cd ~/githubtest/gittest/
$ echo "Hello Git" >> test.md
$ git init
コミットし、リモートへ接続。
$ git add test.md
$ git commit -m "initial commit"
$ git remote add origin git@github.com:mu-editech/GitHubTestRepo.git
$ git push -u origin master
GitHubへ戻って、以下のような画面がでれば接続成功。

おしまい。