作業中にgit pushしたところいままでうまく言っていたのですが下記エラーが発生しました。
$ git push origin main
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/名前/リポジトリ.git/': The requested URL returned error: 403
Please use a personal access token instead.
訳: 代わりにパーソナルアクセストークンを使用してください。
事件です。GitHubで2021年8月13日にパスワード認証が廃止されたそうです。
悔しいですね。個人アクセストークンを使うようにしましょう
GitHub 個人アクセストークンを作成する
GitHubにアクセスするとき必要となる、個人アクセストークン
を作成していきます。
個人アクセストークン
とは、「コマンドラインでのGit操作」や「Gitを使用するアプリケーション」「Gitリポジトリに直接アクセスするアプリケーションやサービス」を利用するときのパスワードの代わりになるものです。GitHubは、2021年8月13日以降、Git操作におけるパスワード認証を廃止し、トークンベースの認証を必須にする方針を発表しています。 これにより、パスワードを用いてのアクセスができなくなってしまいます。したがって、この操作は必ず行っておきましょう。セキュリティの観点から、GitHubは、過去1年間使用されていない個人アクセストークンは自動的に削除します。削除された場合は、再度作成する必要があります。
トークンの作成
1. GitHubのWebページにアクセスし、右上にあるプロフィールの画像をクリックします。
2. メニューからSettings
をクリックします。
3. 左サイドバーからDeveloper settings
をクリックします。
4. 続いて、左サイドバーからPersonal access tokens
をクリックします。
5. Generete new token
をクリックします。
6. 作成するトークンにわかりやすい名前をつけ、このトークンに付与するスコープとして、repo
とgist
を選択します。なお、選択したrepo
は、このトークンを使用してコマンドラインからリポジトリにアクセスすることができる権限です。では、Generate token
をクリックして実際に作成します。
7. 作成されたトークンをメモとして残しておき、忘れないようにしてください。メモを書き間違うことが心配な場合は、スクリーンショットを撮っておくと良いでしょう。
なお、この画面はセキュリティ上の理由で、別ページに移動すると、再度見ることができなくなるので、注意しておいてください。
今回作成したトークンは、ターミナルを使ってコマンドラインからGithubのリポジトリにアクセスする際にパスワードとして使用することになります。
GitHubへリポジトリを反映するための一連の流れ
GitHubへリポジトリを反映させるためには、下記の手順で実行しましょう。
- GitHubにリモートリポジトリを作成する
- ローカルリポジトリにリモートリポジトリを登録する
- ローカルリポジトリのブランチ名を変更する
- 登録したリモートリポジトリへプッシュする
- GitHubのリモートリポジトリにプッシュされたか確認する
GitHubにリモートリポジトリを作成する
first-git
という名前でGitHubにリモートリポジトリを作成して、公開しましょう。
まずはGitHubへアクセスし、ログインしてください。次に+ボタンから「New repository」をクリックしましょう。
GitHubへリモートリポジトリを作成します。「Repository name」にfirst-git
と入力して、「Create repository」をクリックしてください。
これでリモートリポジトリが作成されましたが、まだ中身は空っぽです。ローカルリポジトリをリモートリポジトリにもコピーして反映させるためにプッシュというコマンドが必要となります。まずはその準備のためにローカルリポジトリにリモートリポジトリを登録していきます。
ローカルリポジトリにリモートリポジトリを登録する
ローカルリポジトリにリモートリポジトリを登録するには、先ほどのキャプチャ内にあった下記のコマンドを実行します。
git remote add origin https://github.com/ユーザ名/first-git.git
このコマンドは、ローカルリポジトリにorigin
という名前でリモートリポジトリ(ここではfirst-git.git
)を登録するという意味です。ユーザ名
には皆さんのGitHubでのユーザ名を入力してください。
これでローカルリポジトリにリモートリポジトリを登録できました。以降、このローカルリポジトリでは、origin
を使用してリモートリポジトリとやり取りを行うことができます。したがって、git remote add origin ...
のコマンドは何度も実行する必要はありません。
リモートリポジトリの登録状況を確認したい場合は下記のコマンドで確認することができます。
git remote -v
ローカルリポジトリのブランチ名を変更する
次に、ローカルリポジトリのブランチ名をmaster
からmain
に変更します。これは、5.4 ブランチのデフォルトのブランチ名で解説したとおり、リモートリポジトリのデフォルトブランチ名(main)とローカルリポジトリのデフォルトブランチ名(master)が異なっているためです。
git branch -M main
上記コマンドを実行すると、これまで(master
)とターミナルに表示されていましたが、(main
)に変更されます。
Macの方の注意事項です
macOS キーチェーンからの認証情報を削除する必要があります
git credential-osxkeychain erase
下記は参考サイトです
わかりにくければ、下記のほうが簡単に書かれてます