Git:リモートリポジトリのクローンとプル(アプリパスワード、Bitbucket編)

投稿日:  更新日:

Android StudioはVCS(Version Control System:バージョン管理システム)を使って、プロジェクトの変更履歴の管理が可能です。

Android Studioで利用可能なVCSはいくつかありますが、Gitを取り上げて、アプリパスワードを使ったリモートリポジトリのクローン(コピー)とプル(履歴の取得)の方法を紹介します。

※環境:Android Studio Electric Eel | 2022.1.1
※前提:リモートリポジトリの構築済み

スポンサーリンク

アプリパスワードによるアクセス

Bitbucketにおけるアプリパスワードを使ったアクセスは、次のような特徴があります。

アプリパスワードとは

アプリパスワードはツール(ここではAndroid Studio)に与えるチケットです。

遊園地で遊ぶために入場チケットが必要なように、リモートリポジトリへアクセスするためにアプリパスワードが必要です。

ログインで使用するパスワードとは別なので注意してください。

アプリパスワードとは

このアプリパスワード(チケット)を持っているツールは、Bitbucketのアカウントの有無に関係なく、リポジトリへアクセスが可能になります。

ですので、アプリパスワードが漏洩しないように、厳重な管理が必要です。

アクセスの様子

アプリパスワードはBitbucketのアカウントが発行します。

ですので、アカウント(UserA)が所持するストレージ内のみで有効です。他者(UserB)が発行したアプリパスワードは無効であり、アクセスは許されません。※ただし、他者をワークスペース内に招待すればアクセス可

アプリパスワードによるアクセス

アプリパスワードは、「1:1(パスワード:ツール)」や「1:多」といった配布が出来ます。

どのように配布するかは、アプリパスワードに指定する権限(後述)と合わせて決めます。ここは「誰に何を見せて、何を許可するか!」といった、アプリ開発の方針に関わるところです。

スポンサーリンク

アプリパスワードの取得

Bitbucketにログインし、そのアカウントのアプリパスワードを作成します。

アプリパスワードの作成

アプリパスワードには権限(許可の範囲)が指定できます。このアプリパスワードを使ってリポジトリへアクセスするツールは、操作内容が権限で許された範囲に限られます。

Android Studioから扱える操作はGitのみなので、「リポジトリ」が許可されていれば十分です。権限は最小限に絞りましょう!

アプリパスワードの権限

作成されたアプリパスワードは下図のようなウィンドウに表示されます。ウィンドウを閉じた後、同じパスワードの再取得ならびに再表示はできません。紛失すると再作成になってしまいます。注意してください。

作成されたアプリパスワード

アプリパスワードが作成されると、アカウント宛にメールで通知が届きます。

アプリパスワード作成の通知

スポンサーリンク

クローン(Clone)の実施

リポジトリのクローンを行う方法は、次の2通りがあります。

WelcomパネルからFileメニューから
Welcomパネルからクローン
Fileメニューからクローン

「Clone」ボタンの押下でクローンが実行されます。

アプリパスワードの入力
クライアント(開発用のPC)がサーバ(リポジトリサーバ)へアクセスする時、毎回、アプリパスワードの入力が求められます。

アプリパスワードの入力

配布されたアプリパスワードを入力します。

ここで、「Remember」へチェックを行えば、Android Studio内にアプリパスワードが記録(KeePassにより管理)できます。次回以降は、Android Studioがアプリパスワードの入力を肩代わりしてくれるので、入力は求められません。

※KeePass:Android Studioで採用されているパスワードマネージャー

スポンサーリンク

プル(Pull)の実施

リモートリポジトリから最新の履歴が取得できます。

プルの実行

リポジトリのプルは「Git」メニューから行います。

リポジトリのプル(Pull)

「Pull」ボタンの押下でプルが実行されます。

リモートの定義

クローン後のAndroid Studioプロジェクトはリモートリポジトリが定義されています。

> git config --local  --list
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
submodule.active=.
remote.origin.url=https://user_a@bitbucket.org/gittestroom/sampleapp.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master

ただし、クローンを行った時に指定したURLがそのまま定義されます。

ですので、リモートリポジトリへのアクセスは、アプリパスワードが持つ権限の範囲内になります。権限が「書き込み」を含んでいればプッシュ(Push)も可能です。

スポンサーリンク

関連記事:

Android StudioはVCS(Version Control System:バージョン管理システム)を使って、プロジェクトの変更履歴の管理が可能です。 Android Studioで利用可能なVCSはいくつかありますが、Gitを取り上げて、ローカルリポジトリの構築とコミット(履歴の登録)の方法を紹介します。 ※環境:Android Studio Electric Eel | 2022.1.1 ※Git自体の説明は行いません。 ...
Android StudioはVCS(Version Control System:バージョン管理システム)を使って、プロジェクトの変更履歴の管理が可能です。 Android Studioで利用可能なVCSはいくつかありますが、Gitを取り上げて、リモートリポジトリの構築とアプリパスワードを使ったプッシュ(履歴の登録)の方法を紹介します。 ※環境:Android Studio Electric Eel | 2022.1.1 ※前提:ローカルリポジトリの構築済み ...
Android StudioはVCS(Version Control System:バージョン管理システム)を使って、プロジェクトの変更履歴の管理が可能です。 Android Studioで利用可能なVCSはいくつかありますが、Gitを取り上げて、SSHを使ったリポジトリのクローン(コピー)とプル(履歴の取得)の方法を紹介します。 ※環境:Android Studio Electric Eel | 2022.1.1 ※前提:リモートリポジトリの構築済み ...
スポンサーリンク