VSCodeでGitHubにHTTPS接続しようしても「Repositoryが見つからない」というエラーがでていたのが、SSH接続したらうまくいった件

(当サイトでは広告リンクを含んでいる場合があります)
(当サイトでは広告リンクを含んでいる場合があります)
blog

背景

エラー内容

ローカル側のVisualStudioCode(VSC)でフォルダを作成し、GitHubのリモートリポジトリをHTTPSで設定した。その後、Repository(リポジトリ)をClone(クローン)なりPullなり、Pushしようとしても以下のような「レポジトリが見つからない」というエラーが出る。

remote: Repository not found.
fatal: repository 'https://github.com/(GitHubID)/(リポジトリ名).git/' not found

設定できていないのか?

git remote -v

でリモートリポジトリを確認すると、ちゃんと.gitが表示されているので、設定は間違っていないと思われる。

削除したり、フォルダが空だからダメなのか?とファイルをつくってみたり、同じことをグルグル繰り返し。

Cloude3に訊ねると、他の手段として、「GitHubにHTTPSではなく、SSHで繋げばいい」というので、公開鍵とか面倒くさそうだったがやってみることにした。

SSHの鍵

GitHubのSSHキーに関する公式の記事

GitHub アカウントへの新しい SSH キーの追加 - GitHub Docs
新しい (または既存の) SSH キーを使用するように GitHub.com でアカウントを構成するには、そのキーをアカウントに追加する必要もあります。

MACではホームディレクトリ(ユーザー名フォルダのの直下)に.sshフォルダがあるらしく、そこに格納されているとのこと。

ない場合は作ればいいらしく、さほど難しいことはなさそうだ。

すでにある場合は、既存の鍵を使うこともできそうだ。

sshフォルダ

ターミナルで以下のコマンドを打って、sshフォルダに移動する。
cd (Change Directoryの略)  ~ はホームディレクトリ

cd ~/.ssh

なお、sshフォルダは非表示フォルダなので、通常は表示されない。MACで非表示フォルダを表示するのはショートカットキー ⌘ Shift    . (ピリオド)を押す。

sshフォルダにあるファイルをリスト表示する。 ls(list表示の略)

ls

GitHubで使える公開SSHキーのタイプは次のいずれか。

id_rsa.pub

id_ecdsa.pub

id_ed25519.pub

該当するファイルが表示されたら、それを公開鍵ファイルとして使える。

sshフォルダを探したときに次のような表示がされたら、まだsshフォルダがない状態

/.ssh: No such file or directory 

その場合は、sshフォルダを作成する。

mkdir ~/.ssh

これでsshフォルダを作成できる。   ※ . (ドット)を忘れないように!

新たに鍵を作成する

新たに鍵を作成するには、ターミナルで次のコマンドを入力する。

ssh-keygen -t rsa -c “メールアドレス”

rsaの部分は、別のタイプ ecdsaやed25519でも構わない。

GitHubの新しいSSHキー作成に関するページはこちら

新しい SSH キーを生成して ssh-agent に追加する - GitHub Docs
既存の SSH キーをチェックした後、新しい SSH キーを生成して認証に使用し、ssh-agent に追加できます。

途中でパスワードを入力する項目があるが、「なし(何も入力しない)」で構わない。

 

SSH鍵の内容

cat ~/.ssh/id_rsa.pub

これで内容を確認できる。ssh-rsaから始まりつらつらと長く、最後にメールアドレスとなっている文字列。別のタイプのキーのときはid_rsa.pubの部分を書き換える。

直接コピーするコマンドは次のとおり

$ pbcopy < ~/.ssh/id_rsa.pub

# id_rsa.pubの内容をクリップボードにコピーする
# 別のタイプのキーのときはid_rsa.pubの部分を書き換える

コピーした鍵は、次のGitHubのサイトでペーストする。

GitHubのSSH Keyに登録

GitHub https://github.com/

GitHubにログインして、右上のアカウントボタン(丸い顔のボタン)から設定(Settings)へ移動。

左メニューの「SSH and GPG keys」にあるSSH keysの項目の New SSH key をクリック。

SSH keyの追加ページで、上でコピーした鍵を丸ごとKeyの欄に貼り付ける。

名前は任意。タイプはデフォルトのままで構わない。

 

ローカルフォルダの設定

GitHubのリモートリポジトリにSSHのKeyを追加できたら、ローカルリポジトリを保存するフォルダを設定する。

GitHubのリモートリポジトリのページ > Codeボタン > SSH に表示されているアドレスをコピーしておく。テキストappやメモappにコピーしておいてもいい。

git@github.com/(リモートリポジトリ).git

ローカルPCのターミナルで、ローカルリポジトリのフォルダに移動

cd (ローカルフォルダのディレクトリ)

MACでフォルダのパス名を取得するには

  1. Finderのウィンドウで、フォルダを選択してCtrlボタンを押してクリック(右クリック)
  2. メニューが表示されてる状態でOptionを押す
  3. メニューの項目「コピー」が「パス名をコピー」に変わる
  4. クリックしてパス名を取得

 

フォルダにリモートリポジトリのアドレスを設定する

git remote set-url origin git@github.com/(リモートリポジトリ).git

 

正しく設定できたか確認する

git remote -v

これで、リモートリポジトリが表示されたら設定は終わり

VSCodeで確認する

VSCodeのターミナルで、リポジトリをClone(クローン)する。

git clone git@github.com/ユーザーID/リポジトリ名.git

これで更新できればOK

 

参考になれば幸いです。

コメント