GitHub Desktopで新規リポジトリ作成後、Push/Pull/同期エラーが出たときの対処


概要

MacでGitHub Desktopクライアント(https://desktop.github.com/)を入れて使用したところ、新しいプライベートリポジトリ作成時にPUSHができなかった。対処方法を調べたのでメモしておく。
結果を先に書くと、.git/configを修正し、https→SSHに変更することで認証が通るようになった。

環境

  • macOS 10.15
  • GitHub Desktop 2.3.1
  • GitHub.comにはSSH鍵での認証を設定済

事象

  1. GitHub Desktopから「New Repository」で作成し、何かCommitする。
  2. 同期ボタンを押す。
  3. PrivateでPublish Repositoryする。

  4. エラーが発生せず、うまく動作しているように見えて、2回目以降に同期ボタンを押すと以下のエラーが発生する。
    Error
    The repository does not seem to exist anymore. You may not have access, or it may have been deleted or renamed.

  • なお、リポジトリ自体は正常にGitHub.com側にできている (ただし、初回コミットしたファイルはアップロードされていない)。このため、GitHub.comとの認証のやりとり自体には問題ないと思い、余計に原因がわからなかった。
  • 先にGitHub.comで新規リポジトリを作成し、GitHub Desktopでcloneしてみたが、clone完了後に同じエラーが発生した。
  • プライベートリポジトリだと発生した。パブリックリポジトリだと通常通り使える。

対処方法

.git/configremote origin urlを変更する

.git/config(変更前)
[remote "origin"]
        url = https://github.com/{USER_NAME}/{REPO_NAME}.git
.git/config(変更後)
[remote "origin"]
        url = git@github.com:{USER_NAME}/{REPO_NAME}.git

もしGitHub.comにSSH接続できるよう設定していなければ設定する。公開鍵秘密鍵のペアを作成し、公開鍵をGitHub.comに登録する。

参考:https://qiita.com/shizuma/items/2b2f873a0034839e47ce