こんにちは。
4児パパです。
最近多忙過ぎてメッキリこのブログを更新できないでいます。
ただやっぱり物書きは嫌いではないので、時たまこの記事の様に備忘録として残しておくと、未来の自分が今の自分(既に過去になる)を参考にして、困った時の手助けとなってくれます。
今回は一度git pushした時のエラーで、一度設定してしまえば、恐らく新規立ち上げの時以外には出くわさないエラーの解決策を備忘録として残しておきます。
目次
gitのエラーもWeb開発では避けて通れない
Web開発していてると、いろんな場面でエラーやバグに出くわします。
- syntax error(構文エラー)
- バリデーションエラー
- サーバーにデプロイした時のエラー
- ローカル環境でのエラー
時たまそのエラーやバグに出くわすことで、おもいっきり萎えてしまう事もあります。
gitについては『サルでもわかるgit入門』がおすすめです
プログラミングを学び始めて実際にWeb開発していくと、Gitを必ず学びます。
その際参考にしてください!と勧められるのが、『サルでもわかるgit入門』というサイトですね。
実際にプロのエンジニアでも参考にすることがあります。
とてもわかりやすくgitの解説をしていますので、困った際にはぜひ参考にしてみてください。絵も上手に使われていますので、何かと助けてもらえるかもです。
gitについての書籍も分かりやすく解説
Web制作者のためのGitHubの教科書 は発行年がだいぶ立っていますが、まだまだ参考になる技術書です。git自体のコマンドなどは変わらないのと、チーム開発などのpull リクエストなどが分かりやすく解説しています。
サルでもわかるGit入門は今までにgitを触った事ない初心者にも優しい本になっています。Gitクライアントソフト「Sourcetree」と「Backlog」を利用したGitの解説もしています。gitを1から学び切れる技術本です!
git pushの際に:Permission deniedされた時
Railsに限らずPHPでも他の言語でも、gitを使用しますよね。
その際に最初の段階で、
$git push origin master
このコマンドでgithubへpushした時に下記のエラーが出た際、
: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
このエラーは簡単に解決できますので、焦らず対処していきましょう。
push時のエラーメッセージから原因を見つける
まずエラーやバグは、避けて通りたいですが、でもエラーメッセージは友達になろう!
- : Permission denied (publickey).
- Could not read from remote repository.
- Please make sure you have the correct access rights
and the repository exists.
上記三つに細分化した時にヒントがあります。
エラーメッセージからの解決策は上から順にみる
Web開発ではエラーは避けて通れない。
実際にエラーメッセージから解決してみる。
: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
各メッセージから情報を読み取ってみる。
*パブリックキーで権限の拒否がされたよー
*リモートリポジトリが読み取れないよー
この段階でじゃどうするか。
リモートするリポジトリの確認してみよう。
$git remote -v
このコマンドで、下記の様に出れば正常。
origin git@github.com:githubaccaunt/projectname.git (fetch)
origin git@github.com:githubaccaunt/projectname.git (push)
エラーのヒント達と友達に
エラー解決の為にコマンドしたもの達でも解決し得なかった場合、そこから新たにエラーメッセージで怒られます。そこから次のヒントへ向かいます。
and the repository exists.
*アクセス権持っている?それともリポジトリ自体存在しているのかい?
→ここのヒントはとても大きい。
私のケースでは、リモートするアクセス権がなかったので、接続確認をして公開鍵登録してそれをpushしました。
公開鍵の作成
githubへ接続は、公開鍵と秘密鍵が必要です。
その中で公開鍵の作成をします。
$ ssh-keygen -t rsa -C "ur_emailadd@gmail.com"
enterを1回押し、overright?と聞かれます。その時にyかnを問われますので、yを入力してenterを押してください。
順当にいきますとid_rsa.pubというファイルが作成され、その中身を今度はgithub側へ登録します。
公開鍵とgithubへの接続へ
$ cat ~/.ssh/id_rsa.pub ssh-rsa AAXCCAB2NmmC1~~~~~~~~~~~~~@gmail.com
このid_rsa.pubファイルの中から、”ssh-rsa”登録されているメールアドレスの最終文字までコピーします。

プロフィール画像をクリックした時のsettingをクリック。

New SSH keyをクリックして、登録画面まで進みます。

SSH keyの登録画面まで進んだら、[$ssh-rsa AAXCCAB2NmmC1~~~~~~~~~~~~~@gmail.com]で登録されているメールアドレスの最終文字まで全てをコピペします。
$ cd プロジェクト名
git initをしたディレクト下に戻り、
$ ssh -T git@github.com Hi xyzxyzxyzxyzxxxx! You've successfully authenticated, but GitHub does not provide shell access.
ここまでくれば完了になります。
gitリモート接続登録
$git remote add origin https://github.com/githubaccaunt/projectname.git
このgitコマンドを入力して、githubへリモート接続登録をします。
$git remote -v
origin git@github.com:githubaccaunt/projectname.git (fetch)
origin git@github.com:githubaccaunt/projectname.git (push)
この様に出力されましたら、完了です。
最後に
ブログも大好きですが、Web開発は夢がある事を重々感じています。
だって素敵ではないですか?
自分の苦労して作り上げたプロダクトが、世界中の人に使用してもらえるの事が可能になるのですよ。
確かに一つのサービスを立ち上げるのに、何時間も投下しなくてはなりません。思った様に仕様を作りあげることに、困難さを覚える事もあるでしょう。それでもなお、頑張るからこそやりがいと夢を実感できます。
自分の思い描いているものを、現実化出来るのがエンジニアと起業家です。
自分の思い描いているものが現実化へ向かうほどに、滾ってしまってワクワクしますね。
人生伸びしろしかありませんから。
4児パパ
コメントを残す