いつもどおり以下のコマンドを実行すると ID/PW を聞かれます。
git push origin master
Username for 'https://github.com':
Password for 'https://github.com':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/wada811/AndroidLibrary-wada811.git/'
[Git][GitHub]やっておくと地味に便利なこと2つ | DevAchieve で .netrc に ID/PW を書いているのでPassword for 'https://github.com':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/wada811/AndroidLibrary-wada811.git/'
聞かれるのはおかしいなぁと思いながら ID/PW を入力しますが上記のようにエラーになってしまいます。
調べてみると Git over HTTPS では Personal access token をパスワードの代わりに使えって言っています。
Two-factor Authentication実際に push 時にパスワードではなくアクセストークンを入力してみると問題なく push することができます。
How does it work for command-line Git?
If you are using SSH for Git authentication, rest easy: you don't need to do
anything. If you are using HTTPS Git, instead of entering your password, enter
a personal access token. These can be created by going to your
application settings page.
アクセストークンの入力はめんどくさい
ssh プロトコルで push するように変更する
% git remote set-url origin git@github.com:wada811/AndroidLibrary-wada811.git % git remote -v origin git@github.com:wada811/AndroidLibrary-wada811.git (fetch) origin git@github.com:wada811/AndroidLibrary-wada811.git (push)参考: Githubの2段階認証を有効にしてgitからの認証が弾かれる時の話 - 頼りないニモニック
.netrc に ID と Personal access token を書いておく
machine github.com login wada811 password xxxpersonalaccesstokenxxxコレが一番楽な解決方法ですね。
コレにて一件落着。