ローカルリポジトリをgithubにPushしたときのメモ
ローカルのgitリポジトリで作っていたRuby on Rails 4のアプリを、バックアップの意味も含めてgithubにアップしたくなったので、そのときの作業をメモ。アプリ自体はすでに作っており、ローカルのgitリポジトリにコミットされている状態から作業する。もちろんgithubアカウントもあらかじめ準備しておく。
githubにリポジトリ作成
githubにログインし、新規リポジトリを作成しておく。
sshキーを作成する
$ cd ~/.ssh/ $ ssh-keygen -t rsa -C “<your email address>" Generating public/private rsa key pair. Enter file in which to save the key (/home/dev/.ssh/id_rsa): /home/dev/.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 /home/dev/.ssh/id_rsa. Your public key has been saved in /home/dev/.ssh/id_rsa.pub. The key fingerprint is: XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX <your email address> The key's randomart image is: ・・・
sshキーをssh-agentに登録する
$ eval "$(ssh-agent -s)" Agent pid 22466 $ ssh-add ~/.ssh/id_rsa Identity added: /home/dev/.ssh/id_rsa (/home/dev/.ssh/id_rsa)
ssh公開鍵の内容をコピー(作成したid_rsa.pubの中身のテキストをクリップボードにコピーしておく)
$ cat ~/.ssh/id_rsa.pub ssh-rsa XXXAAB3NzaC1yc2EAAAASIwAAAQEAuTk/tF0OK1wgZ8/B4cqnBPApnOHRlovlkJ1rJycCWYCZy/Y2P2KRtcrN5W3+NpoHFfrTMr7mXZNFtQRlt66lJJ71K3tmY/qVvX00y3/NtazwUuaKXS7uw6lhY35aej1Q/6gdWaBaCFe4yMrX+Qg6GvbrfGl5RLKIpyypH2XXCvQ1Kmf1yAIMQSxU+yn6ljLxyP1f+byVxG9MDD+lFTA+4gbznkd5e5t7RGP5S9MlIkxx/2RqiJHZSMNVJ1mawkjvbPP55NOa7g3yIhGoSk5unkhOmOFWyrbbPqnPXxXXEZcCbSzhqOddozZjS3oBJmClBWBFf/GiyGF5cnhjt6Mw== <your email address>
githubの設定からSSH Keysを登録する
新しいSSH Keyを追加する。Titleには適当な名前をつけ、Keyには上でコピーした公開鍵の内容をペーストする。「Add Key」で登録する。
githubにsshアクセスできることを確認する
$ ssh -T git@github.com The authenticity of host 'github.com (192.30.252.131)' can't be established. RSA key fingerprint isXX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.252.131' (RSA) to the list of known hosts. Hi <your name>! You've successfully authenticated, but GitHub does not provide shell access.
githubにローカルリポジトリのソースコードをpushする
$ git remote add origin https://github.com/<your account>/<your repository>.git $ git push -u origin master error: The requested URL returned error: 403 Forbidden while accessing https://github.com/<your account>/<your repository>.git/info/refs fatal: HTTP request failed
あれ?ここでエラーとなってしまった!
.git/configを修正する
上のエラーはどうやらデフォルトの.git/configがhttpsでアクセスしている設定になっているので、sshでアクセスするよう直せばいいよう。
$ vi .git/config
こうなっているのを
https://github.com/<your account>/<your repository>.git
これに直す。
ssh://git@github.com/<your account>/<your repository>.git
git pushを再実行する
$ git push -u origin master Warning: Permanently added the RSA host key for IP address '192.30.252.129' to the list of known hosts. Counting objects: 300, done. Compressing objects: 100% (275/275), done. Writing objects: 100% (300/300), 732.89 KiB, done. Total 300 (delta 110), reused 0 (delta 0) Tossh://git@github.com/<your account>/<your repository>.git * [new branch] master -> master Branch master set up to track remote branch master from origin.
今度は成功した!
githubリポジトリにソースコードがPushされていることを確認する
正しくgithubの画面上で、リポジトリにコードが格納されていることが確認できた!
以上