Android StudioでGitバージョン管理

Android StudioでGitによるバージョン管理をしてみましょう。

Gitについては以前も記事を書いていますので、参考にしてみてください。

参考:

Gitレポジトリを作成 & プロジェクト登録

まずは、Gitレポジトリを作成します。

なお、ここで紹介する手順で行うと、Gitレポジトリの作成と同時に、この操作を行っているプロジェクトが作成したGitレポジトリの管理対象になります。

さあ、メニュー「VCS」から「Enable Version Control Integration…」を選択しましょう。

Ss 2014052708233701

すると「どんなバージョン管理システムを使うんだい?」というのを聞かれます。

Ss 2014052708233702

「Git」を選んで「OK」しましょう。

うまくいくと、「Gitレポジトリを作った」というメッセージが画面下部に表示されます。

Ss 2014052708233703

今回は、次のところにレポジトリを作ったとのこと。

このパスは、このプロジェクトを作成する際に「Project location: 」に指定したパスになります。
要は、もともとこのプロジェクトのファイルが置いてあるところです。

「プロジェクトのディレクトリがレポジトリになるなんて???」な感じがあるかもしれませんが、Git的にはそこまで変でもないですね。

個人開発する上ではこの状況で十分ですので、気にせずいきましょう。

Ss 2014052708233704

プロジェクトがGitレポジトリに登録されたら、メニュー「VCS」の項目が代わります。
このメニューからでもCommitなどの操作ができるようになりました。

バージョン管理対象ファイルを登録

Gitレポジトリを作成しましたが、このままではバージョン管理できません。
どのファイルをバージョン管理していくか登録してあげる必要があります。

まずは次のビューを開いてください。
画面下部の「9: Changes」をクリックして開きます。

Ss 2014052708233705

ここに「Default」と「Unversioned Files」という2つの大きなくくりが表示されます。

  • Default: バージョン管理対象ファイル
  • Unversioned Files: バージョン管理対象外ファイル

となっており、それぞれファイルがリストアップされています。

このレポジトリでバージョン管理する対象となるファイルを登録するには、管理対象にしたいファイルを「Unversioned Files」から「Default」にドラッグアンドドロップします。

Ss 2014052708233706

Androidプロジェクトはかなり色々なファイルがあるので、どのファイルを管理対象にすればよいかわかりにくいかもしれません。
Android Studioそのものの設定やGradleの設定なんかもありますしね。

よくわからないときは、ごそっと全部管理対象にしてやってもいいでしょう。
使っているうちにだんだんわかってくるものですから (私もまだよくわかっていません)

どのファイルを管理対象にすべきかというのは、統合開発環境を使うときに常に付いて回る問題ですねぇ。

ファイルをコミットする

レポジトリに管理対象ファイルを登録できたら、コミットします。

Ss 2014052708233707

ビューの中にあるボタン「VCS」をクリックしてください。
(もちろん、メニュー「VCS」の方から行ってもいいです)

コミットに関するダイアログ

コミットを実行すると、次のようなダイアログが出てきます。

Ss 2014052708233708

ダイアログの左上を見ると、今回のコミットで変更があるファイルがどれかわかります。
今回は最初のコミットになるので、先ほど対象ファイルに登録したものが表示されています。

左下にコメントを入力して、右下のボタン「Commit」をクリックしましょう。

Ss 2014052708233709

すると、こんなダイアログが出てきます。
エラーとか警告がある場合、そのままコミットしていいのかという確認をしてくるわけです。

まずい場合は左のボタン「Cancel」、指摘箇所を確認するなら「Review」をクリックしてください。

ここでは「Commit」をクリックして、コミットしちゃいます。

これでGitレポジトリへの、管理対象ファイルの登録が完了しました。

コミットしたファイルを変更してみる

ここからがバージョン管理システムの真髄です。

コミットしたファイルを変更してみましょう。

Ss 2014052708233710

すると、画面下部のビューの「Default」のところに変更したファイルが出てきます。
ここでは「MainActivity.java」を変更したので、ちゃんと「Default」のところに出てきていますね。

またコミットしてみましょうか。

Ss 2014052708233711

今回のコミットで変更があるファイルは「MainActivity.java」だけなので、ダイアログ左上にはそのファイルだけあります。

コメントを入力してコミットします。

変更点を確認する

こうしてレポジトリにファイルを登録すると、そのファイルを変更した際に、コミットした時点とどこが違うか明示してくれます。

こうして変更を加えると・・・

Ss 2014052708233712

画面下部のビューの「Default」のところに変更したファイルが出てきます。
そのファイルを右クリックしてポップアップメニューを表示してください。

Ss 2014052708233713

ポップアップメニューの「Show Diff」を選択します。

すると、次の画面が出てきます。

Ss 2014052708233714

画面左側がレポジトリにあるバージョンのファイルで、右側がローカルで書き換えたファイルになります。

ご覧の通り、17行目が増えてるよ、というのがわかりますね。
こんな感じで変更点が確認できるので、間違えた場合は変更前まで簡単に戻せます。

コミットの履歴を見る

いつどのファイルをレポジトリに登録した、コミットしたというのも確認できます。

画面下部のビューで「Log」をクリックしてみてください。

Ss 2014052708233715

すると、画面下部のビューが切り替わります。

左上がコミットの履歴。いつコミットしてきたかが分かります。

左下はコミット時のコメント。
コミットの履歴を選択すると、そのコミットをした時に書いたコメントが表示されます。
コメントをちゃんと書いておけば、このコミットでどのような変更をしたのかここで確認できます。

右側はコミット時に変更があったファイルです。
コミットの履歴を選択すると、そのコミットの時に登録や変更のあったファイルが表示されます。
いつからそのファイルがバージョン管理対象になったのかなど、ここから見て取ることもできます。

なお、この右側のファイルからも変更箇所の確認ができます。

Ss 2014052708233716

ファイルを右クリックしてポップアップメニューを出し、「Show Diff」を選ぶと・・・

Ss 2014052708233717

そのコミットをしたときと、その前のコミットしたときとの違いがわかります。

そのファイルに対していつどのような変更を加えたかがよくわかりますね。

おわりに

Android StudioでのGitの使い方について簡単に紹介しました。

個人で開発していく分には、それほど難しく考えることもなく、ここで紹介したような感じでやっていくので十分でしょう。

レポジトリを作って、ファイルを登録して、コミットして、変更して、コミットして、・・・、と。

なお、チームでレポジトリを共有したりする場合は、PushしたりPullしたりしながらやる必要があります。

ただ、どうもAndroid Studioには、というかベースとなっている「IntelliJ IDEA」には、Gitレポジトリにリモートレポジトリを登録するとか、そういう細かい操作をする機能がない感じがします (必要に迫られてないので探していません)
もしかすると、コマンドラインを駆使したりする必要があるのかもしれませんね・・・

その辺りを使う必要が出てきたときには、また記事にするかもしれません (^^;

なお、Android Studioのベースとなっている「IntelliJ IDEA」も全く同じ操作でバージョン管理できますよ。

ぜひ、バージョン管理は使えるようになっておいてください。

関連記事:

元大手電機メーカのシステムエンジニア。 詳しくはこのサイトについての「サイト管理者について」をご覧ください。

無料メールセミナー