10年程前に開発したCakePHP2のプログラム。統合開発環境は、当時色々と迷ってNetBeansを選択しました。当時のバージョンは、恐らく6.5だったかと。
あれから少しずつ、改修を重ねつつ、10年の時を経て、現在も現役バリバリで使用しています。
どうでも良い話しですが、プログラムって、開発当初の予想以上に運用期間が長いってことを実感したって話しは、置いといて、これからも最低でも後5年位はこのプログラムとお付き合いをせざるを得ないって感じです。
ちなみに、システムの構成は、Apache、MySQL、PHP(CakePHP2)といった、いわゆるXAMPP構成ってヤツ。
MySQLは、MariaDBって名前に変わり、PHPは、5から8までバージョンアップし、CakePHPも4が出ちゃっていますが、いまだにCakePHP2で、ちまちまと変更を続けて10年間、運用し続けとります。
そんなこんなで、久々に多少大きめの変更を加えて、プログラムをリリースって相成りまして、その変更結果をGitのリポジトリにコミットして、リモートリポジトリにプッシュしようとしたところ、「Incorrect credentials for repository at https://github.com/(ユーザ名)/(リポジトリ名)」ってなメッセージ出て、突然プッシュ出来なくなっちゃました。
と言うことで、今回のお題は「突然NetBeansからGitHubのリポジトリにプッシュ出来なくなり、「Incorrect credentials for repository at https://github.com/xxx/yyy.git」のメッセージが出たので、GitHubでパーソナルトークンを作ってパスワードの代わりに入力して対応した件について。」です。
現象について
とりあえず、現象なんですが、プッシュしようとしたら、こんなメッセージが表示されて、リポジトリに接続出来ない状態になってしまいます。
ちなみに、メッセージは、「Incorrect credentials for repository at https://github.com/(ユーザ名)/(リポジトリ名)」(ユーザ名とリポジトリ名は任意です)って出とります。
Google先生の翻訳にお願いしたところ、「リポジトリのクレデンシャルが正しくありません」ってな回答だったので、自称、世界一高精度な翻訳ツールのDeepL翻訳先生にも翻訳をお願いしてみたところ、「リポジトリの認証情報が間違っている」とのこと。
要は、認証情報が間違っているってこと。
GitHubのユーザーネームやEメールアドレス、パスワードなどを正しく入力しても、エラーは解消せず。同じユーザーネームとパスワードで設定した、Visual StudioのC#のリポジトリなんかは問題無く接続出来るのに、???ってな感じ。
「NetBeans Incorrect credentials for repository at」でGoogle先生に教えを請うても、日本語のページで良い感じの答えは見当たらず。
かなり重い腰を上げて、英語のページにあたってみることに。
調査の結果
その結果、「Incorrect credentials when trying to clone Repository to NetBeans with https」ってなお題で、サフィールさんって方の質問があり、この質問にピシャリな回答がありました。この回答者はネッサさんってドイツの学生さんの様です。感謝です。今後はドイツに足を向けては眠れませんが、ドイツが西の方向か東の方向かイマイチわからないので、とりあえず北に足を向けて寝ることにします。
ちなみに、今回の問題、よくよく調べて見ると、2021年8月13日より、GitHubのパスワード認証が廃止になって、パーソナルトークンによる認証になったとのこと。
しかしながら、Visual Studioではそのままパスワードで接続出来ているので、何で?って感じでもっと深掘りすべきなんでしょうが、それはまたの機会ってことで。
解決策としてGitHubのパーソナルトークンを作成
ってことで、「Incorrect credentials when trying to clone Repository to NetBeans with https」のページによると、GitHubのページに行って、パーソナルトークンを作成して、そのパーソナルトークンをパスワード代わりに入れるという解決策です。
手順としては、
GitHubにログインして、ユーザーアイコンのメニューから「Settings」を選択します。
Settingsページの右サイドバーの1番下の「Developer settings」を選択します。
Developer settingsページの右サイドバーの「Personal access tokens」を選択し、右上の「Generate token」をクリックします。
テキトーな名前を付けて、Expirationを設定して、reposにチェックを入れて、「Generate token」ボタンをクリックすれば、パーソナルトークンの完成です。ちなみに今回は面倒臭いので「No expiration」を選択しました。
設定が済んだら、画面下までスクロールして、「Ganerate token」ボタンをクリックして、パーソナルトークンが完成です。
パーソナルトークンが完成すると、画面にパーソナルトークンが表示されるので、パーソナルトークンの右端の四角のマークをクリックしてコピーしましょう。
コピーしたパーソナルトークンは、NetBeansのPush to Remote Repositoryの画面でパスワードの部分に入れれば、問題は解決です。
結果
いや~、知らぬは私のみって感じで、ちゃんとGitHubをマメに使ってた方からすると、何をいまさら的なことだったかも知れません。
でも、もし、同じようにNetBeansでのGitHubの接続問題にお悩みの貴兄は、是非ご参照下さい。
って、感謝するのは、ドイツのネッサさんだったりしますけどね。