以前も一度調べて解決したがまたしても同じことを調べてしまったのでメモしとく
githubにて新しいレポジトリを作成してそこにローカルにあるレポジトリをpushしたい場合、基本的にレポジトリ作成時に表示される以下の案内通りやってもうまくいかないことがある。
touch README.md git init git add README.md git commit -m "first commit" git remote add origin https://github.com/username/hoge.git git push -u origin master
自分の場合はこれでやったらpushを行った段階で以下のエラーが出た。
error: The requested URL returned error: 403 while accessing https://github.com/username/hoge.git/info/refs fatal: HTTP request failed
解決方法としては2つ
1.プロトコルをsshにする
.git/configにてremoteのurlにあるプロトコルを以下のように書き換える
[remote "origin"] url = ssh://git@github.com/username/hoge.git
githubに公開鍵が正しく登録されていればこれでpushできる
2.urlにアカウント名を含める
同じく.git/configにてurl部分を以下のように書き換える
[remote "origin"] url = https://username@github.com/username/hoge.git
この状態でpushするとpasswordを聞かれるのでgithubのパスを入力すれば通る
パスを聞かれるのが面倒な場合は.netrcに書いておくことで回避もできる
それについてはこちらのサイトに詳しく書いてある
http://d.hatena.ne.jp/idesaku/20100423/1272015373
ただ、passwordを書いておくのはあまり良くないのでできることならsshを使うのが良さそう
ついでに、githubとのやりとりで通信がうまくいかない場合はこちらに確認方法や解決方法が書かれているのでその通りやっていくのがよい
https://help.github.com/categories/56/articles
▼おまけ
push -uによって.git/configに追跡ブランチの情報が書き込まれるため次回からorigin masterは省略できる。(その際はpushの設定に注意)
cf. http://jsapachehtml.hatenablog.com/entry/2012/07/15/231052
- 作者: 濱野純(Junio C Hamano)
- 出版社/メーカー: 秀和システム
- 発売日: 2009/09/19
- メディア: 単行本
- 購入: 31人 クリック: 736回
- この商品を含むブログ (155件) を見る