背景
プログラマなんだし、いい加減 GitHub を使ってみようと思って初めてのリポジトリを作成したら少しハマった
TL;DR
GitHubのリポジトリへ接続するにはアクセストークンが必要
2024/03/31 追記
アクセストークンが必要となるのはhttps接続しようとしていたためで、
ssh接続すればこんなことしなくても大丈夫でした。
ご助言いただいた @raki様 誠にありがとうございました。
- ssh接続参考
動作環境
- Windows 10 Home
- Git for windows
前提
- GitHubアカウント作成済み
- プッシュ先のリポジトリ作成済み
- ローカルブランチ名は「main」
現象
GitHubにリモートリポジトリを作成し、pushしようとしたら、リポジトリが見つからないと言われた
$ git remote add origin https://github.com/{Account}/{Project}.git
$ git push -u origin main
remote: Repository not found.
fatal: repository 'https://github.com/{Account}/{Project}.git' not found
原因
GitHubのリポジトリへのアクセスにはアクセストークンが必要らしい
解決方法
アクセストークンを作成、アクセストークを使用してGitHubへアクセスする。
1. アクセストークンを作成
- GitHubにログイン
- 画面右上のユーザアイコンをクリックし、[Settings]を選択
- 左メニューの一番下、[Developer settings]を選択
- [Personal access tokens]-[Tokens(classic)]を選択
- [Generate new token]-[Generate new token(classic)]を選択
「Fine-grained personal access tokens」に比べて「Personal access tokens(classic)」は安全性が低くなるが一部機能は「Personal access tokens(classic)」でのみ動作する
-
トークンの設定を行う
Note:トークンの用途を記載
Expiration:有効期限を設定、デフォルトは30日、今回はとりあえずデフォルト
Select scopes:トークンのアクセス権限設定、リポジトリへのアクセス権限は最低限[repo]を選択すれば大丈夫
トークンは一度しか表示されないため、コピペを忘れないこと
2. アクセストークンを使用してGitHubへアクセス
# 作成済みのリモートリポジトリ削除
$ git rm origin
# トークン有でリモートリポジトリ追加
# {Token}に先程コピーしたトークンを入れる
# {Token}の後に「@」を入れるのを忘れないこと
$ git remote add origin https://{Token}@github.com/{Account}/{Project}.git/
# リモートリポジトリにpush
$ git push -u origin main
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 237 bytes | 237.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To https://github.com/{Account}/{Project}.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.
あとがき
GitHubの案内通りにやってもハマるんだなぁ
参考元