daiki0508'足跡

AndroidStudioでのGithub連携がUN/PWで出来なくなった?

f:id:daiki0508:20210404214421j:plain

この間、新しいPCに「AndroidStudio」を入れてGithubと連携しようとしたら正しいユーザ名とパスワードでログインしても「404エラー」が発生してしまいました。
ネットで調べた噂によると最近のGithubの仕様変更で出来なくなった可能性がある(2021/3月時点)、とのことでした。

解決法としてはGithubでアクセストークンを発行して連携する方法があって今回、初めてやってみたのでメモ書き程度に残しておこうと思いこの記事を書こうと思いました。

目次

私の環境

OS:Windows10
AndroidStudio:4.13
Git:2.28.0

Githubでアクセストークンを発行する

f:id:daiki0508:20210330025159p:plain

まずは上記画像で赤く囲まれた部分をクリックしてその中の「Settings」を開いてください。

f:id:daiki0508:20210330025610p:plain

すると上記画像の様な画面が表示されると思うので、次に「Developer settings」を開いてください。

f:id:daiki0508:20210330025834p:plain

そして「Personal access tokens」を選択してください。
すると以下のような画面になると思います。

f:id:daiki0508:20210330030221p:plain

ここで自分が作成したアクセストークンの一覧を確認できます。
新しく作成する場合は赤く囲んだ「Generate new token」をクリックします。

f:id:daiki0508:20210330031155p:plain

この画面でアクセストークンに付与する権限の設定を行っていきます。
注意!:ここで設定するアクセストークンの権限は間違えないようにしてください

設定項目を以下に示します。

Note...アクセストークンを識別するための任意の名前(今回私はhogehogeで作成)
repo...プライベートリポジトリに関する操作に必要
workflow...Githubアクションワークフローを更新するのに必要
admin:org...組織やチームのプロジェクトの読み書きに必要
admin:repo_hook...この項目にチェックを入れないと追加のリポジトリを後で作成出来なくなる
gist...要旨の作成に必要

以上の通りに設定できていると下記画像のようにチェックボックスにチェックが入っていると思います。

f:id:daiki0508:20210330032814p:plain

その後「Generate token」をクリックして以下の画像のようにアクセストークンが表示されればOKです!

f:id:daiki0508:20210330033137p:plain

実際には黒く塗りつぶしているところに「アクセストークン」が表示されています。
注意!:表示されるアクセストークンはこの時点でメモ帳等に保存しておいてください。一度しか表示されません!(忘れた場合は再発行することになります)

Gitの設定

既に設定されている方は問題ないのですが、この先のセクションでGithubと連携した場合でもこの設定が上手くいっていないと、ちょっと面倒くさいことになるのでやっておきましょう!

設定する項目は「ユーザ名」と「メールアドレス」です。

この項目がGithubにある「ユーザ名」と「メールアドレス」と異なると、コミットしたユーザ名等が第3者になってしまいます
(私もここで躓いて、コミットしたユーザ名が本名になっていて大変でした(笑))

どちらも簡単に変更することが出来てそれぞれ以下のコマンドを実行するだけです!

git config --global user.name ユーザー名
git config --global user.email メールアドレス

無事、変更できたかどうかを以下のコマンドを実行して確認します。

git config --list

「user.name」と「user.email」が先ほど設定した値に変更されていたらOKです!

AndroidStudioでの設定とGithubへのPush

AndroidStudioでGithubと連携させたいプロジェクトを開きます。

f:id:daiki0508:20210330034250p:plain

その後「VCS」を選択して「Enable Version Control Integration...」をクリック。
次に表示される画面にはデフォルトの「Git」を選択

f:id:daiki0508:20210404202953p:plain

上手くいけば、上の画像のようにファイル名が赤色になるはずです。

その後、もう一度「VCS」をクリックして次は「Import into Version Contorol」から「Share Project on Github」をクリックするとGithubのログイン情報を求められます。

f:id:daiki0508:20210404205426p:plain

この時「Token」が表示されておらず「UserName/Password」の入力を求められている場合はウィンドウ右上に「Use Token」という青色の文字の部分をクリックすると画面が切り替わります!

そして「Token」の部分にGithubでアクセストークンを発行するで作成した「Token」をコピー&ペーストして「Log In」ボタンをクリックすると、下記の画像の様なウィンドウが表示されると思います。

f:id:daiki0508:20210404210544p:plain

今回私は下記のような設定にしていますが、ここは皆さんの自由でOKです!

Repository name:Test(Private)
Remote:origin
Description:none

後は「Share」ボタンをクリック!!

f:id:daiki0508:20210404211018p:plain

GithubにPushするファイルを選択、コミットメッセージを入力して「Add」ボタンをクリックするとGithubにPushされます。

f:id:daiki0508:20210404211346p:plain

注意!:AndroidStudioではプロジェクトごとにGithub連携を行う必要があります。よって1つのプロジェクトで連携をしたからといって他のプロジェクトでも連携がされていると言う訳ではありません!!

おまけ(2回目以降のCommitとPush)

AndroidStudioでの設定とGithubへのPushでは最初の1回目のコミットとPushの説明をしました。

では2回目以降は…?

これも簡単です。

f:id:daiki0508:20210330034250p:plain

VCS」から「Commit」をクリックしてコミットするファイルとコミットメッセージを入力(この時に注意メッセージが表示された場合は気にせず「Commit」を選択)、その後もう一度「VCS」から「Git」そして「Push」をクリックすれば、Pushウィンドウが表示されるので「Push」ボタンをクリック!(ここでも注意メッセージが表示された場合は「Marge」をクリック)

すると、Githubへの「Push」行われます。

まとめ

以上が「AndroidStudio」で「Token」を使ってGithub連携を行う手法になります。

結構、最近の話題ぽかったので調べても情報が少なくて大変だったので大変でした!(…どちらのバグかわかりませんが、早く修正させるといいですね(笑))

参考情報・引用

https://teratail.com/questions/319541

https://stackoverflow.com/questions/64964585/android-studio-github-login-incorrect-credentials-request-response-401-unauth

https://www.sejuku.net/blog/72246