質問: ``` remote: Permission to AAA/abc.git denied to BBB. fatal: unable to access 'https://github.com/AAA/abc.git/': The requested URL returned error: 403 ``` `git add .` `git commit` した後に`git push`した結果上記のようなエラーがでてきました。 どこの設定を変更すれば解決しますか?
回答: そのリポジトリ(AAA/abc)にpushする権限を持たないユーザー(BBB)でログインしているようです。 HTTPSをお使いのようですから、push時に入力したユーザー名・パスワードがそのリポジトリで使っているものかどうか、確認してみてください。 リモートリポジトリにhttp(s)で接続していて認証が必要な場合には、基本的には毎回ログインを求められます。ただそれでは面倒なので、資格情報を記憶する credential helperという仕組みがあります。 これはURLごとに記憶するわけですが、デフォルトではパスを無視するため、前回 `https://github.com/` にログインした際のユーザー名・パスワードでログインしてしまったようです。 対策としては、`https://user@github.com/`としてURLにユーザー名を含めてしまうのが一番簡単だとは思いますが、一応他の方法も載せておきます。 * 全く記憶しないようにする: configから`credential.helper`を消す * 記憶している情報を消す: `git credential reject` コマンドを使う * 記憶する際にパスも考慮するようにする: `credential.useHttpPath`をtrueにする credential helper によってはGit側から伝えられたpathやusernameを無視する可能性もあります。その場合はこれらの方法が役立つかもしれません。 参考 * Git - 認証情報の保存 * How can I store keychain credentials for multiple Github accounts? - Stack Overflow