概要
- VS CodeでGithubのリポジトリをcloneしようとすると
『remote: Repository not found』が表示されて失敗になりました。 - 状況としては
- VS CodeではGithubでログイン中
- Git関連のツールもインストール済み
- GithubのprivateのリポジトリをVS Codeから作業したい
- gitのアカウントも確認できる
- 下記のようにログインもされていてそのリポジトリも表示されていますが実際cloneを行うとエラーになりました。
- それでリポジトリのcloneができるまで行った対応の手順を作成しました。
# gitのアカウント名、メール確認方法
git config --global user.name
git config --global user.email
参考
- git cloneしようとしたらremote: Repository not found.に阻まれた
- git pushで remote: Repository not found.は、VSCode(の組み込みGit)が原因だった
- 【GitHub】アクセストークン(Access Tokens)の生成手順まとめ【Java勉強ログ #8】
対応
- GithubからAPI Keyの作成
- API Keyを利用してclone
GithubからAPI Keyの作成
- Githubにログインします。
- 画面の右上にあるアイコンをクリックします。
- 『Settings』をクリックします。
- 設定画面の左側のメニューから下の『Developer settings』をクリックします。
『Personal access tokens > Tokens(classic)』をクリックします。
『Generate new token > Generate new token(classic)』をクリックします。
- access token作成画面が表示されるので次の情報を入力します。
- Name : 任意のaccess tokenの名前を入力します。
- Expiration : tokenの期限です。セキュリティ対策として No expiration以外を指定ことをお勧めしています。
- Select scopes : tokenで認証範囲を設定します。ここではソースコードの管理のみで repo のみを選択しました。
- 作成が終わった画面下の『Generate token』をクリックします。
- 作成が成功するとtokenの値が表示されます。
- 表示されたtokenの値をコピーしておきます。
- 値の表示は今だけで画面を閉じたる移動するとまた確認することはできません。
もし無くした場合は再作成を行います。 - 設定した期限が過ぎたら利用できなくなります。
もし利用中に急にできなくなったら確認して再作成などの対応を行いましょう。 - token値はログインのパスワードの役割を行います。
利用する人以外には知らないように注意して管理しましょう。
API Keyを利用してclone
- それではVS Codeに戻り、『Clone Repository』をクリックします。
- リポジトリを入力する場所が表示されます。
入力するcloneのURLを
『https://』と『github.com/<ユーザー名>/<リポジトリ名>.git』の間に、
『<ユーザー名>:<token値>@』を追記して、
『https://<ユーザー名>:@github.com/<ユーザー名>/<リポジトリ名>.git』にします。
# ユーザー名が crobmaster
# リポジトリ名が repo_test
# token値が ghp_12345 の場合の例です。
# Githubから取得したcloneのURL
https://github.com/crobmaster/repo_test.git
# <ユーザー名>:<token値>@を追記して変換したcloneのURL
#https://<ユーザー名>:<token値>@github.com/<ユーザー名>/<リポジトリ名>.git
https://crobmaster:ghp_12345@github.com/crobmaster/repo_test.git
- それでリポジトリを保存する場所を選択するとリポジトリのcloneができました。
- 一回成功するとそれからはGithubから取得したURLだけでもリポジトリができたので一回tokenを利用したことで認証情報が更新されたようです。
まとめ
- 今回はVS Codeでgithubのリポジトリをcloneするとremote: Repository not foundが発生するエラーに対応した内容をまとめました。
- 多分privateリポジトリの権限情報が保存されていなかったことが原因かなと思います。