23481

[code]

    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
    
[/code]

`git add .` `git commit` した後に`git push`した結果上記のようなエラーがでてきました。  
どこの設定を変更すれば解決しますか？


CC BY-SA 3.0
2016-03-26T06:21:36.450
23475
2016-03-30T05:54:14.640
2016-03-26T07:44:15.607
2808
10088
question
git github
githubへgit pushしようとすると403エラーとなる


そのリポジトリ(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 - 認証情報の保存](https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB-%E8%AA%8D%E8%A8%BC%E6%83%85%E5%A0%B1%E3%81%AE%E4%BF%9D%E5%AD%98)
  * [How can I store keychain credentials for multiple Github accounts? - Stack Overflow](https://stackoverflow.com/a/24277934/2818869)


CC BY-SA 3.0
2016-03-26T08:21:37.583
23481
2016-03-30T05:54:14.640
2017-05-23T12:38:55.250
-1
8000
23475
answer