今日バイト仲間がgit pushできない問題に遭遇したときの対処方法です。
問題はpushのときに以下のように出てきてしまったことでした。
fatal: repository <レポジトリ名> not found
https通信のままがだめなのかな?と考えsshに移行することになりました。
SSH接続の準備をするにあたって以下の3つのウェブサイトがとても役に立ちました。
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~
~/.sshディレクトリに移動してkeyを作成
$ cd ~/.ssh $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/Users/(username)/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: //上の3つはすべて何も打たずEnterでOK
上の3つはすべて何も打たずにEnter連打でOKです。
これでkeyが作成されます。語尾がpub
のファイルが公開鍵で、もう一つが秘密鍵です。両方大事ですが、秘密鍵は他の人に渡してはいけません。
公開鍵をGitHubに貼り付ける
以下のコマンドで 公開鍵 の内容をコピーしてGitHubのテキストボックスに貼り付けます。 (ここで我々は 秘密鍵 を貼り付けようとしてエラーが出ました。)
$ pbcopy < ~/.ssh/id_rsa.pub
~/.ssh/config に必要情報を記入
今度は自分の 秘密鍵 を登録します。公開鍵の名前を打つと当たり前ですがエラーが出ます。
~/.ssh/config にて以下の内容を書きます。
Host github github.com HostName github.com IdentityFile ~/.ssh/<自分の秘密鍵の名前をここに> User git
これで以下のコマンドを売って
$ ssh -T git@github.com
これで何もエラーがでなければOKです。
ラスト:~/.gitconfigにて追記
最後は~/.gitconfigにて
[url "github:"] InsteadOf = https://github.com/ InsteadOf = git@github.com:
と追記して完了です。(こうしないとhttps通信のままになるんだと思います。)