ときおり、意図せぬヒューマンエラーによって設定がおかしくなり、Gitのpushやpullに対して毎回認証を求められる…という事象が発生します。
初学者に対してレクチャーをするときは特に発生します。
長年、いまひとつクリティカルな答えへ辿り着けずにいたのですが、設定を弄る中で「これだ!」となったので、
URL … https://hogehoge.com/username/myrepo.git
ユーザ名 … username
メールアドレス … username@fugafuga.com
パーソナルアクセストークン … accesstoken
として、GitBash上で表題の事案を回避していきましょう。
※筆者はWinユーザーです。
# Git init済みのローカルリポジトリ
$ cd ~/myrepo
# もしもgit config設定済みだったらスキップしてどうぞ
# --local, --globalはお任せします
$ git config --global user.name username
$ git config --global user.email username@fugafuga.com
# 認証求められちゃう人はこの時点で求められる
# git credential managerが表示されて、ユーザ名とパスワードの入力を求められちゃう(もしくはアクセストークンのみ)
$ git pull
# これが特効薬(リポジトリ毎に設定すること)
$ git remote set-url origin https://username:accesstoken@hogehoge.com/username/myrepo.git
# 認証求められなくなれば成功
$ git pull
おそらくGitHub,BitBucket,GitLab全部に共通して使える設定。今後も検証していくけどようやくスッキリしました。