GitHubでOrganizationを作成してPushしようとしたら403エラーが発生した。

こんにちは、kisseです。

大学でプロジェクト形式でソフトウェア開発を行う授業があり、コード管理にGitHubを使うことにしました。
その際にgit pushでエラーが発生したのでそれへの対応を残します。



状況

  • GitHubで作成したOrganizationのリポジトリを利用
  • 普段はGitHub Desktopを利用して操作を行なっていた
  • コマンドで行う必要のある操作が発生したので、コマンドでgit pushを行なった結果403エラーが発生
  • HTTP接続により、操作を行なっている

以上が今回遭遇した状況の概要です。
プロジェクトはチームで行なっているので、GitHubでOrganizationを作成して、リポジトリを作成しました。
私もチームメンバーもgitに不慣れなので、GitHub Desktopを使ってgit push、 git pullを行なっていました。
普通にコードの更新を行うぶんには十分な機能があるので、普段はこれで作業していました。
しかし、git resetとかコードを戻すような操作をしたい場合には、GitHub Desktop上でのやり方がいまいちわからなかったのでググって出てくるコマンドでの操作を行っていました。

ちょっとトラブルがあって、リモートリポジトリの内容をローカルリポジトリの内容で上書きする際にgit push を使おうとしたら、403エラーに遭遇した次第です。

対応策

他の方のブログとか見ていると、<ローカルリポジトリ>/.git/configに記載されている、リモートリポジトリのURLに含まれるgithub.comを<ユーザー名>@github.comに書き換えるとHTTPによるgit pushが可能になるといった記述がありました。
しかし、その方たちはみなさん自分のアカウント上のリモートリポジトリにpushする際の対応だったんです。
Organizationでも同じようにできるんだろうかと思ったのですが、普通にできました。笑笑

以下方法です。
<ローカルリポジトリ>/.git/configをテキストエディタで開きます。

略
...
[remote "origin"]
        url = https://github.com/<Organization名>/<リポジトリ名>.git
...
略

上記のURLのgithub.comを部分を、<ユーザー名>@github.comに書き換えます。

略
...
[remote "origin"]
        url = https://<自分のユーザー名>@github.com/<Organization名>/<リポジトリ名>.git
...
略

このようにすると、無事にgit pushができるようになります。



まとめ

git pushでエラーが出たら、まず.git/configを確認しよう!
URLの文字列のgithub.comの部分を<ユーザー名>@github.comに変更しましょう。

gitとか3ヶ月前とかはほとんど使えなかったんですが、使う必要に迫られると途端にできるようになりますね。笑
これからも精進していきたいなって思います。

最後まで読んでいただきありがとうございます!

あわせて読みたい