背景
エラー内容
ローカル側の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キーに関する公式の記事
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鍵の内容
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でフォルダのパス名を取得するには
- Finderのウィンドウで、フォルダを選択してCtrlボタンを押してクリック(右クリック)
- メニューが表示されてる状態でOptionを押す
- メニューの項目「コピー」が「パス名をコピー」に変わる
- クリックしてパス名を取得
フォルダにリモートリポジトリのアドレスを設定する
git remote set-url origin git@github.com/(リモートリポジトリ).git
正しく設定できたか確認する
git remote -v
これで、リモートリポジトリが表示されたら設定は終わり
VSCodeで確認する
VSCodeのターミナルで、リポジトリをClone(クローン)する。
git clone git@github.com/ユーザーID/リポジトリ名.git
これで更新できればOK
参考になれば幸いです。
コメント