LoginSignup
74
52

More than 3 years have passed since last update.

「Repository not found」になるGithub Private Repositoryの扱い方

Posted at

Githubのプライベートリポジトリをclone, pull, pushなどしたときに、Repository not found と表示されることがあります。以下のようなメッセージです。

$ git push origin XXXXX
remote: Repository not found.
fatal: repository 'https://github.com/XXXXX/YYYYY.git' not found

SourceTreeやForkなどのGUIツールでも発生することがあります。

原因は?

プライベートリポジトリへのアクセス認証に失敗しているためです。gitの接続プロトコルを https にしているのが原因のことが多いです。githubから普通にcloneすると大体 https になっているのですが、仕事とプライベートで複数のgitアカウントを切り替えて使っていると、いつのまにかgithubの認証情報が切り替わって、アクセスできなくなるようです。

対応

gitへの接続プロトコルを ssh にすれば解決します。

①接続プロトコルを確認

remote.origin.url が https になっているかを確認しましょう。

$ git config -l | grep remote.origin.url
remote.origin.url=https〜 # httpsから始まるURLがセットされているか

もしgit@から始まる値がセットされている場合には、この記事は役に立ちませんので、別の記事を参考にしてください。

②リモートURLをSSHのパスに書き換え

git remote set-url origin [リポジトリのSSHパス]
git remote set-url origin git@github.com:xxx/abc.git # 例

SSHパスは、以下の画面よりコピーすると簡単です。

NativeScript_NativeScript__NativeScript_is_an_open_source_framework_for_building_truly_native_mobile_apps_with_JavaScript__Use_web_skills__like_Angular_and_Vue_js__FlexBox_and_CSS__and_get_native_UI_and_performance_on_iOS_and_Android_.png

実行後、もう一度 git config -l をして、remote.origin.url が git@ で始まるSSHパスに変わっているかを確認しておきましょう。

③公開鍵をgithubに登録

自分のローカルマシンの公開鍵をgithubのアカウントに登録します。(既に登録済の場合はスキップして構いません。)

まず自分の公開鍵をクリップボードにコピーします。Macの場合は以下のコマンドでコピーできます。

$ pbcopy < ~/.ssh/id_rsa.pub

次に以下のURLを開きましょう。

「New SSH Key」を押して、コピーされた鍵を貼り付けたあと、「Add SSH key」すれば完了です。※[title]欄 には自分のマシンだとわかる名前をつけておくと良いでしょう。

これで、git pull / push が問題なく出来るようになっているはずです。

74
52
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
74
52