テクノロジー · 実用ガイド

GitHub の「Repository not found」—認証情報を替える前に URL とアカウントを証明する

有効な fetch/push URL と Git が実際に使うアカウントを保存し、repository 権限と SSO を確認して、一つの境界だけを直し remote refs で検証します。

有効な remote URL、認証 account、repository permission、SSO authorization を分けるオリジナル概念図。
オリジナル概念図:credential を見せずに URL、identity、access、SSO を証明します。 Watch at Ease

GitHub の `Repository not found` は、誤った/rewrite された URL、別の cached account、repository permission 不足、または有効でも organization SSO 未承認の credential を意味します。browser tab は browser session だけの証拠です。

effective remote と失敗操作を保存し、HTTPS または SSH の account、repository access、SSO を確認します。証拠のある境界を一つだけ変更し、`git ls-remote origin` と元の操作の両方を成功条件にします。

元の操作と effective remote を保存

clone、fetch、pull、push のどれが失敗したかを記録し、host、owner、repository name、secret を除く完全な error を保存します。既存 clone では `git remote -v` を保存します。

`git remote get-url --all origin` と `--push` で rewrite 後 URL を確認し、`git ls-remote --get-url origin` で接続せずに rewrite を展開します。

意図した account で repository と URL を証明

権限を持つべき account で browser に入り repository page を開き、そこから clone URL をコピーします。logged-out check は private access の証明になりません。

host、owner、repository name、transport を比較します。effective URL が誤っている場合だけ origin を変更し、not found だけで working tree を削除しません。

Git が使う credential を特定

HTTPS では token を表示せず credential helper と account を確認します。credential manager または GitHub CLI を使い、token を URL、shell history、log に書きません。

SSH では `ssh -T git@github.com` で key に対応する account を確認します。成功しても repository permission と SSO は別に確認します。

permission、invitation、SSO を確認

account が owner、承認済み collaborator、または read access のある team member か確認します。pending invitation や別 account の権限は無効です。

SAML SSO organization では HTTPS token または SSH key の authorization が必要です。理由なく token scope を広げません。

証明された境界だけを修復

URL 修正、HTTPS account 切替、SSH key 選択、invitation 承認、access request、SSO authorization のうち証拠が示す一つだけを行います。

force push、`.git` 削除、未 commit 作業への再 clone、URL への token 挿入、全 credential の同時 rotation は行いません。

remote refs と元の操作で検証

一つの変更後に `git ls-remote origin` を実行します。refs が返れば current transport で effective remote に到達した証拠になります。

続いて元の clone、fetch、pull、push を再実行します。まだ not found なら URL、identity、permission、SSO の正確な branch に戻ります。

evidence 保存、一つの boundary 修正、remote refs と元操作の検証を示すオリジナル概念図。
オリジナル概念図:一つの境界だけを直し、remote refs で完了を証明します。 Watch at Ease