GitHubで2段階認証の設定後にpushできない原因と対処法

パスワードは合ってるはずなのに、なんでpushできないんだろ…?

GitHubでローカルリポジトリからリモートリポジトリにpushする時に失敗することがあります。

その失敗する原因で最も多いのが、GitHubで直接ファイルの編集や追加・削除などの作業をして、ローカルリポジトリ(パソコン側のリポジトリ)とリモートリポジトリ(GitHub側のリポジトリ)の状態が変わってしまうことだと思いますが、他にもいくつかpushが失敗する原因があります。

例えば、GitHubで2段階認証を設定すると、正しいusername(ユーザー名)とpassword(パスワード)を入力してもpushが失敗します。

しかも、僕の記憶が正しければ、「どっちかが違うよ〜」というエラーメッセージしか表示されないんですよね。どっちも合ってるのに。

では、どうすればいいのかと言うと、実はこのパスワードに入力しなければいけないのは「アクセストークン」というGitHubのサイトで取得する文字列なんです。

ということで今回はこのアクセストークンの取得から入力までの一連の流れを紹介したいと思います。

【参考】Creating a personal access token for the command line

アクセストークンを取得する

アクセストークンを取得する手順は以下の通りです。

GitHubのアカウントメニュー

GitHubのアカウントメニュー「Settings」をクリック。

GitHubの開発者設定

「Developer settings」をクリック。

トークンを生成する

「Generate new token」をクリック。

トークンの説明を入力して「repo」にチェックを入れる

「Token description」の欄にトークンの説明を入力し、「repo」にチェック。

Generate tokenのボタン

「Generate token」をクリック。

生成されたアクセストークン

文字列が表示されるので、それをコピーします。

パスワードの欄にアクセストークンを入力する

アクセストークンを生成してコピーしたら、後はそれをターミナルに貼り付けるだけです。

ターミナルでアクセストークンを入力

※パスワードは入力しても貼り付けても表面上は変化しませんが、ちゃんと入力されています。

「httpsのURLの場合は2段階認証をオンにするとpushできない」みたいな情報もけっこうありますが問題なくpushできるのでご安心ください。(昔の話ですかね?)

カテゴリー

この記事を書いた人:シェフ

このサイト「MORIAWASE」の運営者。少しでも多くの人の悩みや不安を解決するためにハウツー記事を中心に更新しています。お問い合わせはページ下部のお問い合わせページから。フォローやシェアは大歓迎です!

カテゴリー

アーカイブ