Git:ローカルリポジトリの構築とコミット

投稿日:  更新日:

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

Android Studioで利用可能なVCSはいくつかありますが、Gitを取り上げて、ローカルリポジトリの構築とコミット(履歴の登録)の方法を紹介します。

※環境:Android Studio Electric Eel | 2022.1.1
※Git自体の説明は行いません。

スポンサーリンク

Gitのインストール

Android Studioはリポジトリを操作するためのGitクライアント機能を持ちません。ですので、別途、Gitのインストールが必要です。

Android StudioはここでインストールしたGitコマンドを内部で呼び出します。

Gitのホームページから自分のOS環境にあった物をダウンロード&インストールしてください。

Gitのホームページ

私の場合は、普段使いのOSがWindowなのでWindows版をインストールしました。※’23.01時点でGit Ver 2.39.1が最新版

インストールが終わったら、ターミナル(Windowsのターミナルでも可)を開いてバージョンを確認しておきましょう。

ターミナルを開く

> git --version
git version 2.39.1.windows.1

また、Android StudioのSettingsから、Gitコマンドのパスが正しいことを確認しておきましょう。

Gitのパス設定

Windows標準のプログラム置き場(C:\Program Files)にインストールしていれば、自動的に検出されているはずです。

標準と異なる場所へインストールした場合は、パスを変更してください。

スポンサーリンク

Git Configurationの設定

Gitを使い始めるための前準備として、Git Configurationの設定を行います。

ユーザ名とメールアドレス

ユーザ名とメールアドレスを登録します。

> git config --global user.name ユーザ名
> git config --global user.email メールアドレス

リポジトリ内の変更履歴に、ここで指定したユーザ名とメールアドレスが付加されます。

「誰による変更なのか?!」を明確にするためです。

例えば、チーム(複数人で)開発を行っているとします。チーム開発では、コードレビューを行う機会があると思いますが、「誰による変更なのか?!」が不明だと、変更の理由を説明する人が特定できません。そのため、変更内容の検証があいまいになり、品質の高いレビューが保てなくなります。

Configurationのレベル

Git Configurationは3つのレベルがあります。

レベルによりパラメータの影響範囲が異なります。影響範囲を考慮してパラメータを指定してください。

レベルオプションconfigファイルの場所優先度影響範囲
System--system/etc/gitconfig(Linux)
インストール先/etc/gitconfig(Win)
3
システムが所持する全リポ
Global--global~/.git/config(Linux)
C:\Users\ユーザー\.gitconfig(Win)
2
ユーザが所持する全リポ
Local--local対象のリポ/.git/config
1
対象のリポのみ
※リポ:リポジトリ
※優先度:各レベルへ同一パラメータが指定されていた場合
※SystemレベルのConfigrationの編集は管理者権限(Root権限)が必要

ちなみに、Gitコマンドを使って直にConfigファイルの編集・参照が行えます。

> git config --global --edit    # 編集、Globalの場合
> git config --local  --list    # 参照、Localの場合
スポンサーリンク

ローカルリポジトリの構築

ローカルリポジトリの構築はとても簡単です。

プロジェクト(例の場合:「SampleApp」プロジェクト)を開き、「Enable Version Control Integration」からGitを選択するだけです。

ローカルリポジトリの初期化

これにより、プロジェクトにローカルリポジトリが構築されます。そして、プロジェクトのトップフォルダ(例の場合:「SampleApp」フォルダ)がワークツリーのルートになります。

※ワークツリー:Gitの管理下に置かれた作業(ファイル追加・削除・修正)を行う場所

これらは、Gitコマンドを操作した場合の”git init”と同等な動作です。

> cd SampleApp
SampleApp> git init

プロジェクトのトップフォルダ内を参照すれば、ローカルリポジトリが確認できます。

リポジトリが構築されたフォルダ

構築に際して、「.gitignore」ファイルも作成されています。

Android Studio用にカスタマイズされた「.gitignore」になっています。必要があれば、変更履歴の追跡から除外したファイル(またはフォルダ)を追加してください。

./.gitignore./.idea/.gitignore./app/.gitignore
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
./.gitignore
./.idea/.gitignore
./app/.gitignore
/build
スポンサーリンク

Commitペイン

ローカルリポジトリの構築が終わると、Android Studio上に「Commitペイン」(Tool Windowsの一つ)が現れます。※ペイン:分割された表示領域

Commitペインは、ワークツリーのルート(例ではSampleAppフォルダ)以下にあるファイルの状態を表示します。追加・削除・修正があったファイルがリスト表示されることから、「Change List」と呼ばれます。

Tool Windows:Commit pane

ファイルの状態は図のように色分けされています。

ファイルの状態の色分け

このCommitペインからコミット(履歴の登録)が可能です。方法は後述します。

初回のコミット

初回のコミットは次の手順で行います。

(1)履歴の追跡対象へ追加

リポジトリの構築直後は、すべてのファイルが履歴の追跡対象になっていません。ですので、ファイルは「Unversioned Files」と表示された状態に属しています。

履歴の追跡対象へ遷移

Gitで管理したいファイルを履歴の追跡対象へ追加します。

具体的には、下記の操作を行います。

  (1)Gitで管理したいファイルをチェック
  (2)ドラッグ&ドロップでChanges属性へ追加

これらは、Gitコマンドを操作した場合の”git add”と同等な動作です。

SampleApp> git add -A -- チェックしたファイル群

(2)コミットの実施

Changes属性にあるファイルはコミットが可能です。

コミットの実施

Changes属性のファイルをメッセージを付けてコミットします。

具体的には、下記の操作を行います。

  (1)コミットしたいファイルをチェック
  (2)メッセージを入力
  (3)Commitボタンの押下でコミット

ファイルにWarningsやTODOが存在する場合は、確認が施されます。

問題がなければ、下記の操作を行います。

  (3′)Commit Anywayボタンの押下でコミット

これらは、CGitコマンドを操作した場合の”git add”ならびに”git commit”と同等な動作です。

SampleApp> git add -A -f -- チェックしたファイル群
SampleApp> git commit -F コミットメッセージが書かれたファイル --

※addとcommitはCommitボタンの押下で一度に実行
スポンサーリンク

変更のコミット

変更(前回からの差分)のコミットは次の手順で行います。

(0-a)新規ファイルの作成

新規にファイルを作成すると、作成した時点で「履歴の追跡対象へ追加(commit add)するかどうか?」を問われます。

履歴の追跡をしない

履歴の追跡をする

Cancelを行えば、履歴の追跡が行われなくなります。

履歴の追跡対象へ追加しない限り、リポジトリへ登録されないファイルのままです。

履歴の追跡をする・しない

(0-b)既存ファイルの修正

既存のファイルを修正すると、履歴の追跡対象であれば、Gitにより修正が認識されます。

修正されたファイル

(1)履歴の追跡対象へ追加

作成時に履歴の追跡対象へ追加しなかったファイルは、「Unversioned Files」と表示された状態に属しています。

履歴の追跡対象へ移行

Gitで管理したいファイルを履歴の追跡対象へ追加します。

具体的には、下記の操作を行います。

  (1)Gitで管理したいファイルをチェック
  (2)ドラッグ&ドロップでChanges属性へ追加

(2)コミットの実施

Changes属性にあるファイルはコミットが可能です。

コミットの実施

Changes属性のファイルをメッセージを付けてコミットします。

具体的には、下記の操作を行います。

  (1)コミットしたいファイルをチェック
  (2)メッセージを入力
  (3)Commitボタンの押下でコミット

スポンサーリンク

関連記事:

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