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

第23回 バージョン管理の基本

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

はじめに

今回から数回にかけてAndroid Studioのバージョン管理システム(Version Control System:VCS)連携について説明します。初回はVCS連携の基礎的な部分を紹介します。それほどおもしろい内容ではないので,次回以降の実践編を経た後に読み返してもらえれば十分です。

Android Studioが標準でサポートしているバージョン管理システムは,CVS, Subversion, Git, Mercurialです。次回からは,それぞれのバージョン管理システムを用いた実際の操作を紹介する予定です(さすがにCVSはパスします……)⁠

VCS連携でできること

どのバージョン管理システムに対しても基本的な操作(最新の状態にする/コミットする/変更を取り消す/履歴をみる/などなど)を行うことができます。

細かな操作については,連携するバージョン管理システムによってできることとできないことがあるので,Android Studio上ですべての操作を完結することにこだわらないほうが良いでしょう。日常的な操作はAndroid Studioで行い,ちょっと凝った操作を行う場合は専用のツールを用いる,という二段構えの気持ちでいた方がストレスが溜まりません。

他のIDEがそうであるように,VCS連携中はAndroid Studio上でのファイル操作がシームレスにバージョン管理システムに連携されます。一番メリットを受けるのはリファクタリングの時だと思います。リネームや移動といった操作を追跡してバージョン管理システムに反映します。

ただし,そのときに連携しているバージョン管理システムのどのコマンドを叩いてファイルの移動を追跡しているかは,連携するバージョン管理システムによって異なります(移動をmoveではなく,deleteとaddの組み合わせだったり,さまざまです)⁠この振る舞いの違いも人によってはストレスの元になるかと思います。

VCS連携の基礎の基礎

Android StudioのVCS連携機能は,主にメニューバーの「VCS」に集約されています。

図1 メニューバーの「VCS」の内容

図1 メニューバーの「VCS」の内容

メニューの上部にバージョン管理に関する操作が集約してあります。このメニューは実際のバージョン管理システムに関わりなく共通して使える操作になっています(統合コマンド)⁠そのため,コマンドの用語が実際に用いるバージョン管理システムのものとずれている場合があります(Android Studioの統合コマンドで用いている用語はSubversionに由来するものが多いです)⁠

統合コマンドの下に連携しているバージョン管理システム固有のサブメニューが展開されます。特定のバージョン管理システムに特化した操作はこちらから行います。

「VCS」メニューには"VCS Operations Popup..."というVCS専用のクイックリストが組み込まれています。ショートカットキーを覚えると,より簡単に素早くVCS操作ができるようになるので,一応覚えておいてください。

図2 ⁠VCS Operations」ポップアップメニュー

図2 「VCS Operations」ポップアップメニュー

「VCS」メニューの最上部にローカルヒストリ("Local History")に関するコマンドがあります。ローカルヒストリは,VCS連携とは直接の関わりが低いので,後の回で改めて紹介します。

サポートしているバージョン管理システム

Android Studioが標準でサポートしているバージョン管理システムは以下の通りです。

CVS
当初はサポート外でしたが,Android Studio v0.2.9あたりから復活しました(元のIntelliJでサポートしていました)⁠
Subversion
(IntelliJでは)以前の主力だったのですが,最近はパッとしません。サポートしていた歴史が最も長いため,連携機能が最も安定しています。一応,Subversion 1.7もサポートしていますが,別途 svn コマンドを必要とします(1.6までなら svn コマンドは不要です)⁠
Git, Github
最近流行りのGitです。Android Studioもそうですが,IntelliJも自分自身をGitで管理しているためかGitサポートが手厚いです。標準構成でGithubもサポートしています。ただ残念ながら,別途 git コマンドが必要です。
Mercurial
Gitと人気を2分している分散型バージョン管理システムです。Gitサポートに比べると,それほど手厚いサポートをしていない印象があります。こちらもGitと同様,別途 hg コマンドを必要とします。

これ以外のバージョン管理システムと連携する場合は,別途プラグインが必要になります。プラグインの説明がまだですが,その一覧を紹介しておきます(すべて動作確認したわけではありませんので,チャレンジする場合は自己責任でお願いします)⁠

ベースとしていたIntelliJの歴史を引きずっていますが,Android Studio単独で連携できるのはCVSとSubversionのみで,それ以外のバージョン管理システムは必ず連携用のコマンドを必要とします。

細かな設定については後の回で説明しますが,Android Studioのバージョン管理システムとの設定は「Preferences / Version Control」で行います。

図3 ⁠Preferences / Version Control」設定画面

図3 「Preferences / Version Control」設定画面

著者プロフィール

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

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

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

Twitter: @masanobuimai

コメント

コメントの記入