Gitでバージョン管理

- Android StudioプロジェクトをGitリポジトリとして初期化する
既存のAndroid StudioプロジェクトをGitで管理したい場合、以下の手順で行います。
Android Studioを開く: 対象のプロジェクトを開きます。
VCSメニュー: メニューバーから VCS > Enable Version Control Integration... を選択します。
Gitを選択: ポップアップが表示されるので、ドロップダウンから Git を選択し、OK をクリックします。
- ファイルをステージングしてコミットする
Gitでは、変更を記録する前に、どのファイルを記録するか(ステージング)を指定し、その後変更内容を確定する(コミット)という流れになります。
変更されたファイルの確認: Android Studioの左下にある Git ツールウィンドウ (または Version Control ツールウィンドウ) を開きます。ここに、変更されたファイルや新規ファイルが表示されます。
赤色: Gitに追跡されていないファイル(新規作成など)
緑色: 新規追加され、ステージングされたファイル
青色: 既存ファイルで変更があり、まだステージングされていないファイル
白色: 変更がないファイル
ファイルをステージング: コミットしたいファイルを右クリックし、Git > Add を選択するか、Git ツールウィンドウでファイルを右クリックし、+ アイコンをクリックします。これにより、ファイルがステージングエリア(インデックス)に追加されます。
コミット:
Git ツールウィンドウでステージングされたファイルを確認し、上部のツールバーにある緑色のチェックマークアイコン(Commit)をクリックします。
コミットメッセージを入力する画面が表示されます。何を変更したのか、簡潔かつ分かりやすく記述します。
Commit ボタンをクリックしてコミットを完了します。
4. リモートリポジトリとの連携(GitHub/GitLab/Bitbucketなど)
ローカルの変更を他の開発者と共有したり、バックアップを取るために、GitHubなどのリモートリポジトリにプッシュ(push)します。
リモートリポジトリの作成: まず、GitHubなどのサービスで新しい空のリポジトリを作成します。
リモートの追加: Android Studioで、Git ツールウィンドウの Log タブを開き、上部の Git メニューから Manage Remotes... を選択します。
- ボタンをクリックし、Name に origin (慣習的な名前) を、URL に作成したリモートリポジトリのURL (例: https://github.com/ユーザー名/リポジトリ名.git) を入力して OK をクリックします。
プッシュ:
メニューバーから Git > Push... を選択します。
プッシュするブランチ(通常は main または master)とリモートが正しく設定されていることを確認し、Push ボタンをクリックします。
初めてプッシュする場合は、GitHubなどの認証情報(ユーザー名とパスワードまたはパーソナルアクセストークン)を求められることがあります。
- よく使うGit操作
a. プル (Pull)
他の開発者がリモートリポジトリにプッシュした変更を、自分のローカルリポジトリに取り込む操作です。
メニューバーから Git > Pull... を選択するか、ツールバーのダウンロードアイコンをクリックします。
b. ブランチ (Branch)
並行して複数の機能開発やバグ修正を行う際に便利です。メインの開発ラインを汚さずに作業できます。
新しいブランチの作成:
Android Studioの右下にあるブランチ名(通常は main または master)をクリックします。
New Branch を選択します。
ブランチ名を入力し、Create をクリックします。
ブランチの切り替え:
同様に右下のブランチ名をクリックし、切り替えたいブランチを選択して Checkout をクリックします。
ブランチのプッシュ: 新しく作成したブランチは、リモートにはまだ存在しません。最初のプッシュ時にリモートに作成されます。
Git > Push... を選択し、新しいブランチをプッシュします。
c. マージ (Merge)
他のブランチの変更を現在のブランチに取り込む操作です。
マージ先のブランチに切り替える: 例えば、feature ブランチの変更を main ブランチに取り込みたい場合、まず main ブランチに切り替えます。
マージの実行: メニューバーから Git > Merge Changes... を選択します。
マージするブランチの選択: マージしたいブランチ(この場合は feature)を選択し、Merge をクリックします。
コンフリクト(競合)が発生した場合、Android Studioが解決ツールを提供します。手動で競合を解決し、コミットします。
d. スタッシュ (Stash)
作業中の変更を一時的に保存し、後で復元したい場合に便利です。ブランチを切り替える前など、現在の作業をコミットしたくないときに使います。
変更をスタッシュ: メニューバーから Git > Stash Changes... を選択します。
メッセージを入力して Create Stash をクリックします。
スタッシュの適用/削除:
Git > Unstash Changes... を選択すると、保存されたスタッシュのリストが表示されます。
適用したいスタッシュを選択し、Apply Stash で変更を復元できます。Pop Stash は適用後にスタッシュを削除します。
e. リバート (Revert)
過去のコミットを取り消し、その変更を打ち消す新しいコミットを作成します。
Git ツールウィンドウの Log タブで、取り消したいコミットを見つけます。
そのコミットを右クリックし、Revert Commit を選択します。
新しいコミットが自動的に作成され、そのコミットの変更が打ち消されます。
f. リセット (Reset)
コミット履歴を書き換える強力なコマンドです。注意して使用してください。
Git ツールウィンドウの Log タブで、リセットしたい状態のコミットを見つけます。
そのコミットを右クリックし、Reset Current Branch to Here... を選択します。
オプションが表示されます:
Soft: HEADを移動するだけ。変更はステージングされたまま。
Mixed (デフォルト): HEADを移動し、変更はステージング解除される。
Hard: HEADを移動し、変更はすべて破棄される。データが失われる可能性があるので注意!
まとめ
Android StudioとGitを連携させることで、コードの変更履歴を追跡し、他の開発者と協力しながら効率的に開発を進めることができます。最初は少し覚えることが多いかもしれませんが、慣れてしまえば手放せないツールになるはずです。
もし特定の操作で詰まった場合は、お気軽にご質問ください!
Androidアプリ開発において、Gitによるバージョン管理は非常に重要です。Android StudioにはGitが統合されており、GUIで多くの操作を行うことができます。
ここでは、Android StudioでGitを使ってバージョン管理を行う基本的な流れを解説します。
- GitのインストールとAndroid Studioの設定
まず、あなたのPCにGitがインストールされていることを確認します。
Gitのインストール:
Gitがインストールされていない場合は、Gitの公式サイトからダウンロードしてインストールしてください。
Android StudioでのGit設定確認:
Android Studioを開きます。
File > Settings (macOSの場合は Android Studio > Settings または Preferences) を開きます。
Version Control > Git を選択します。
Path to Git executable が正しく設定されていることを確認します(通常、Gitをインストールしていれば自動的に検出されます)。もし検出されていない場合は、Gitの実行ファイル (git.exe など) へのパスを手動で指定します。
Test ボタンをクリックして、Gitが正しく動作するか確認します。
2. 新しいプロジェクトでGitリポジトリを初期化する
新しいAndroidプロジェクトを作成する際に、同時にGitリポジトリを初期化できます。
Android Studioで新しいプロジェクトを作成します。
プロジェクトが作成されたら、Android Studioのメニューバーから VCS > Enable Version Control Integration... を選択します。
表示されるダイアログで Git を選択し、OK をクリックします。
これで、プロジェクトのルートディレクトリに .git フォルダが作成され、Gitリポジトリとして初期化されます。
3. 既存のプロジェクトにGitを適用する
すでに作成済みのプロジェクトにGitを適用する場合も、上記と同じ手順で VCS > Enable Version Control Integration... を選択します。
- リモートリポジトリとの連携 (GitHub, GitLab, Bitbucketなど)
バージョン管理は通常、リモートリポジトリ(GitHubなど)と連携して行います。
GitHubに新しいリポジトリを作成する:
GitHub (またはその他のサービス) にアクセスし、新しいリポジトリを作成します。リポジトリ名はプロジェクト名と同じにするのが一般的です。
リポジトリ作成後、表示されるリモートリポジトリのURL (HTTPSまたはSSH) をコピーしておきます。
Android Studioからリモートリポジトリを追加する:
Android Studioのメニューバーから Git > Manage Remotes... を選択します。
- ボタンをクリックして、新しいリモートを追加します。
Name に origin (慣習的な名前) と入力し、URL に先ほどコピーしたリモートリポジトリのURLを貼り付けます。
OK をクリックします。
- ファイルをステージングし、コミットする
変更をGitに記録する基本的な操作です。
変更の確認:
Android Studioの右下にある Git (または Version Control) ツールウィンドウを開きます。
Local Changes タブで、変更されたファイルや新しく追加されたファイルが表示されます。
新しいファイルは Unversioned Files に表示されます。これを右クリックし Add to VCS を選択すると、Gitの管理対象になります。
変更されたファイルは、色(緑: 新規、青: 変更、赤: 未追跡など)で視覚的に表示されます。
ステージング (Add):
コミットしたいファイルを選択し、右クリックメニューから Git > Add を選択するか、ツールバーの + アイコンをクリックします。これにより、ファイルがステージングエリアに追加されます。
コミット (Commit):
ツールバーの緑色のチェックマークアイコン (Commit) をクリックするか、Git > Commit... を選択します。
コミットダイアログが表示されます。
Commit Message ボックスに、変更内容を簡潔かつ明確に記述します(例: "Feature: Added user login screen", "Bugfix: Fixed crash on startup")。
Commit ボタンをクリックして、変更をローカルリポジトリにコミットします。
6. リモートリポジトリにプッシュする (Push)
ローカルでコミットした変更をリモートリポジトリに送信します。
ツールバーの緑色の上向き矢印アイコン (Push) をクリックするか、Git > Push を選択します。
プッシュダイアログが表示され、プッシュするコミットのリストが表示されます。
Push ボタンをクリックします。初回プッシュ時や認証情報が求められた場合は、GitHubなどのアカウント情報を入力します。
7. リモートリポジトリからプルする (Pull)
リモートリポジトリの変更をローカルリポジトリに取得します。他の開発者が変更をプッシュした場合などに使用します。
ツールバーの青色の下向き矢印アイコン (Pull) をクリックするか、Git > Pull を選択します。
プルダイアログが表示され、プルするリモートとブランチを選択します。
Pull ボタンをクリックします。
8. ブランチを操作する (Branch)
Gitのブランチ機能は、並行して複数の機能開発やバグ修正を行う際に非常に便利です。
ブランチの作成:
Android Studioの右下ステータスバーにある現在のブランチ名をクリックします。
表示されるポップアップで New Branch... を選択します。
新しいブランチ名を入力し、Checkout branch にチェックが入っていることを確認して Create をクリックします。
ブランチの切り替え (Checkout):
ステータスバーのブランチ名をクリックします。
切り替えたいブランチを選択し、Checkout をクリックします。
ブランチのマージ (Merge):
マージしたいブランチに切り替えます。
ステータスバーのブランチ名をクリックし、Merge into Current を選択します。
マージしたい他のブランチを選択し、Merge をクリックします。
コンフリクトが発生した場合は、解決ツールが表示されるので、それに従って解決します。
9. その他の便利なGit操作
Stash (一時退避):
コミットしたくないが、現在の変更を一時的に退避したい場合に利用します。
Git > Stash Changes... を選択し、メッセージを入力して退避します。
退避した変更を戻すには、Git > Unstash Changes... から選択して適用します。
Revert (コミットの取り消し):
特定のコミットを取り消したい場合に利用します。
Git ツールウィンドウの Log タブで、取り消したいコミットを右クリックし、Revert Commit を選択します。
Reset (履歴の変更):
コミット履歴を書き換えたい場合に利用しますが、リモートにプッシュ済みのコミットに対して行う場合は注意が必要です。
Git ツールウィンドウの Log タブで、リセットしたいコミットを右クリックし、Reset Current Branch to Here... を選択します。オプションを慎重に選びます。
Android StudioのGUIは非常に使いやすく、Gitの基本的な操作はほとんどメニューから行えます。しかし、Gitコマンドラインツールも併用できると、より複雑な操作やトラブルシューティングに対応できるようになります。
まずは、コミット、プッシュ、プル、ブランチ作成・切り替えといった基本的な流れを覚えることから始めると良いでしょう。