github に作成済のリポジトリーにデータを push しようとすると、エラーが出てしまった。
remote: Repository not found. fatal: repository 'https://github.com/sh1ch/SimpleCSVParser.git/' not found
実行したコマンドは以下で、最後の push で上のエラーになってしまう。(なんで最初の add でエラーにならないのだろう?):
git remote add origin https://github.com/sh1ch/SimpleCSVParser ... git push origin master
⚠️:git のリポジトリーの指定に間違いがないかどうかは、もう一度再確認してから進むこと!
解決方法の例
つぎのコマンドで、コンフィグの状態を確認します。
git config --list
調べてみると remote.origin.url
が https になっていました。これだと、環境等によって稀にエラーになることがあるようです(いくつか同じような症状をメモしている記事がありました)ただ、詳しいエラーの原因まではわかりませんでした。(エラー詳細から原因を特定できないのはモヤっとしますが)
... remote.origin.url=https://github.com/sh1ch/SimpleCSVParser.git
この対処方法の例として挙がっているのは https ではなく、セキュリティに優れる ssh を利用して push すること。PC に ssh を利用するための公開鍵/秘密鍵の準備がないときは、コマンドプロンプトで以下を実行します。
ssh を利用するための設定
念のため、ssh を利用するための鍵の作り方も記述します。
このあたりは、基本情報を勉強してると下地の理解があるはず。なんだかんだで知識の(厚底ではないけど)下駄を広く履けると思います。
以下のコマンドを実行します。
ssh-keygen
Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\***/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\***/.ssh/id_rsa Your public key has been saved in C:\Users\***/.ssh/id_rsa.pub The key fingerprint is: SHA256:**********#user-name#@#pc-name# The key's randomart image is: +---[RSA 3072]----+ | . . . .. +..| | | | | | | | . . . .. +..| | | | | | | +----[SHA256]-----+
C:\Users\***/.ssh/
フォルダが作成されて、その中に4つファイルが作成・保存されます。
id_rsa.pub
ファイルの内容が、公開鍵を表しているので、記載されているテキストを github に登録します。
URL: https://github.com/settings/keys
SSH Keys の「New SSH Key」を選択し、鍵の名前は利用者が判断できるくらいの名前にしておく。Key の中身は、コピペしたらいい。(ssh-rsa から始まるテキストのすべてを登録する)
登録ができたら、ただしく登録できているのか確認をしておく。
ssh -T git@github.com
自分の環境だと、つぎのようなテキストが出力されます。
Hi #username#! You've successfully authenticated, but GitHub does not provide shell access.
remote set-url を更新します。
git remote set-url origin git@github.com:sh1ch/SimpleCSVParser.git
git@...
以下の部分は、github の <>code
ボタンからテキストをコピーすることができます。入力ミスすると馬鹿らしいのでコピー推奨。
最後にコンフィグの状態を確認して remote.origin.url=
の内容が上に更新されているかどうか調べておくこと。
git config --list
再度コマンドを実行
この状態で再度コマンドを実行します。リポジトリーを指定するテキストが ssh に変更されている点に注意。
git remote add origin git@github.com:sh1ch/SimpleCSVParser.git ... git push origin master
ちなみに、public key の登録がなければ ssh による操作は、おそらく次のようなエラーがでます。
git@github.com: Permission denied (publickey). fatal: Could not read from remote repository.