【Github】他者のリモートリポジトリへpush時、403エラーになる場合の対応

Pocket

Githubで、他者のリポジトリに対してpushした際、以下のようなエラーが出る場合の対応策です。

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin リポジトリ名:リポジトリ名
remote: Permission to 他者のアカウント名/リポジトリ名 denied to 自分のアカウント名.
fatal: unable to access 'Github上のリポジトリURL': The requested URL returned error: 403
Pushing to Github上のリポジトリURL

他者のリポジトリにpushする場合、以下の対応が必要です。
・該当リポジトリのCollaboratorsに登録
・Collaborators登録時に届くinvitation(招待)メールで、Github上から許可を行う

初めてCollaborators等をやってみた場合、メールから招待の許可を忘れがちです。(リポジトリ所有アカウントで)Collaboratorsに登録してくれていても、招待メールで許可を行わない限りpushできないので注意しましょう。

ちなみにメールでの招待許可についてはネット上に情報が少なく、ハマりました。大半のページは「Collaboratorsに登録しましょう」という対応だけが書いてあります。(当然のことだからなのでしょうが。。。)

加えてリポジトリ所有者とCollaborators参加者の両方とも自分のアカウントという場合は注意が必要です。invitationの許可はGithub上で行うので、例えばリポジトリ所有者のアカウントでブラウザ(Githubページ)にログインしたまま、Collaborators参加アカウントで招待メールを許可しようと思ってもできません。

一旦、GithubからSign outしましょう。改めてCollaborators参加アカウントでログインし直しておかないと、リポジトリ所有者としてGithubにログインしたままでは違うユーザの招待メール許可はできません。

知っている人は当然の対応でしょうが、メールアドレスが普段使わないものだったりすると、気付かないままいつまでも403エラーに苦しむ羽目になるので、記事として残しました。

広告

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です