Android Studio最速入門~効率的にコーディングするための使い方

第24回 バージョン管理 ─GitとGitHub連携

この記事を読むのに必要な時間:およそ 6 分

リポジトリをGitHubに公開する

このままではプロジェクトが単にGitリポジトリになっただけなので,このリポジトリをGitHubに公開してみましょう。GitHubに公開するにあたり,事前にGitHubに該当リポジトリを作成しておく必要はありません。必要なのはGitHubのアカウントだけです。

図20 ローカルのGitリポジトリをGitHubに公開する

図20 ローカルのGitリポジトリをGitHubに公開する

メニューバーから「VCS → Import into Version Control → Share project on GitHub」を実行します。

図21 ⁠VCS → Import into Version Control → Share project on GitHub」を実行

図21 「VCS → Import into Version Control → Share project on GitHub」を実行

Android Studioから初めてGitHubにアクセスする場合は,図22のような認証ダイアログが表示されるので,適切なアカウントでGitHubにログインしてください。

図22 ⁠Login to GitHub」ダイアログ

図22 「Login to GitHub」ダイアログ

認証が成功した場合,入力したパスワードをAndroid Studioのキーストアに格納するためマスターパスワードを問い合わせてきます。このマスターパスワードは次回以降のアクセスの際に用いますので,忘れずに覚えておいてください。

図23 ⁠Master Password」ダイアログ

図23 「Master Password」ダイアログ

※パスワードをどう保存するかは「Preferences / Passwords」で設定します。

参考までに,次回以降GitHubにアクセスすると図24のようにマスターパスワードの問い合わせだけで,それ以外のダイアログは省略されます。

図24 ⁠Master Password」ダイアログ(確認用)

図24 「Master Password」ダイアログ(確認用)

初回は長い道のりを辿りますが,ここまできてやっとプロジェクトをGitHubに公開するダイアログが表示されます。

図25 ⁠Share Project On GitHub」ダイアログ

図25 「Share Project On GitHub」ダイアログ

プロジェクト名(New repository name)はプリセットしてありますが,後でチェックアウト(クローン)することを考慮すると,今のプロジェクトと同じ名前にしておくのが無難です。

プロジェクト名と概要(Description)を入力し終えたなら「Share」ボタンを押すとGitHubに公開されます。具体的には以下のことを行います。

  • GitHubに該当リポジトリを作成し,
  • ローカルのリポジトリにGitHubのリポジトリを登録(add remote)し,
  • GitHubのリポジトリにpushします。

これでGitHubへの公開はおしまいです。うまくいくと,このようにものすごく簡単にできます。

[コラム]GitHub連携がうまく行かない場合

Windows版だからなのか,ファイアウォール内で実行したためか切り分けできていませんが,Android StudioからGitHub連携がうまくいかないケースというがあります。

うまくいかないのがAndroid Studioだけで,コマンドラインからは問題無くGitHubにアクセスできている場合は,Android StudioのGitHub連携はとっとと見切りを付けてコマンドラインから連携することです。

裏技というか反則技と言ってもいいのですが,Android Studio v0.2.10あたりから「Terminalツールウィンドウ」が登場し,Android Studioからターミナル操作ができるようになりました(Windows版ではコマンドプロンプトが使える)⁠

これを利用して,まずGitHubに該当プロジェクトを作成します(仮に「MyFirstAppProject」としましょう)⁠その後,Android Studioの「Terminalツールウィンドウ」からリスト4のようなコマンドを実行するだけでいいです。

リスト4 リモートリポジトリの追加の例

$ git remote add origin https://github.com/masanobuimai/MyFirstAppProject.git

リモートリポジトリさえ設定できてしまえば,あとは普通にpush/pullができるようになります。別に「Terminalツールウィンドウ」を使わず,SourceTreeなどの専用クライアントから実施しても同じですけど……(気分の問題ですね)⁠

この補足からも分かると思いますが,Android Studioから Gitのリモートリポジトリを設定する機能はありません。唯一,リモートリポジトリを設定できる機能が"Share project on GitHub"だけだったのです(それもそれで変な話ですけどね)⁠

別の言い方をすると,GitHub以外の中央リポジトリを登録したい場合は,このようにAndroid Studio以外のGitクライアントの力を借りるしかないとも言えます。

GitHubからプロジェクトをチェックアウト(クローン)する

ようやっとGitHubにリポジトリを公開できました。今度はGitHubのリポジトリからローカルにチェックアウト(クローン)してみましょう。たとえば,自宅のPCと会社のPCとでリポジトリを共用する,といったケースを想定するとわかりやすいと思います。

図26 Gitリポジトリを別のPCにチェックアウトする

図26 Gitリポジトリを別のPCにチェックアウトする

GitHubからリポジトリのチェックアウトは,Android Studioのウェルカム画面から行います。左側のメニューから「Check out from Version Control」を選び,ポップアップから「GitHub」を選択します。すると「Clone Repository」ダイアログが表示されるので「Git Repository URL」からチェックアウトしたいリポジトリURLを選択します。

GitHub連携の場合,この「Git Repository URL」のプルダウンリストに既存のGitHubリポジトリが一覧表示されるので,そこから任意のリポジトリURLを選択するだけで済みます。図27のムービーではさほど時間がかかってないように見えますが,ネットワークなどの条件によっては「Clone Repository」ダイアログが出るまでものすごく時間がかかります(気長に待ちましょう)⁠

図27 GitHubチェックアウトの流れ(クリックすると動きがわかります)

「Clone」ボタンを押すとチェックアウト(クローン)を開始します。それが済むと,そのままプロジェクトを開くかと聞いてくるので,指示に従ってプロジェクトを開きましょう。リポジトリにAndroid Studioのプロジェクト設定ファイルも登録してあるので,諸条件が満たされていれば(?)難なくプロジェクトを開くことができると思います(この「諸条件」も後の回で説明します)⁠

GitHubに公開する時と同じく,ファイアウォール内だとGitHubのリポジトリ一覧取得に失敗する事があります。その場合も慌てず騒がすGitHub連携を止め,ウェルカム画面の「Check out from Version Control」「Git」を選択しましょう。

「Check out from Version Control」「GitHub」ではなく「Git」を選択した場合も「Clone Repository」ダイアログが表示されます。⁠GitHub」選択時との違いは「Git Repository URL」のブルダウンリストに何も表示されない事だけです。

図28 ⁠Check out from Version Control」「Git」を選んでも同じダイアログが表示される

図28 「Check out from Version Control」で「Git」を選んでも同じダイアログが表示される

次回の予定

今回紹介した内容はGitとGitHub連携の初歩の初歩だけなので,次回はもう少し踏み込んだGit/GitHub連携の使い方について紹介します。

著者プロフィール

今井勝信(いまいまさのぶ)

システムエンジニア。日本ユニシス株式会社所属。仙台在住。

Android開発はまったくやったことがないけれどIntelliJ IDEAが大好き。

Twitter: @masanobuimai