ご存知のように、個人プロジェクトであっても、プロジェクトには常にソース管理(SCM)を使用することがベストプラクティスです。 Android Studio には、ソース管理用に Git との素晴らしい統合があることをご存知でしょうか。 もし知らなかったり、使った経験がないのであれば、この記事を読み進めてください。
この記事では、Android Studio の Git サポートの多くの機能と、Android Studio 内から Git のさまざまな操作 (コミット、プッシュ、プル、ブランチなど) を行うことがいかに簡単であるかを紹介します。
このチュートリアルでは、Android Studio で利用可能な SCM 機能のリストを説明します。 以下の領域について見ていきます。
- 新しい Android Studio プロジェクトを Git と統合する
- GitHub または Bitbucket と連携する
- バージョン管理ウィンドウを探索する
- commits
。
branches push and pull from remote repository
Prerequisites
To be able to follow this tutorial, が必要です。
- Git 分散バージョン管理システムの基本的な理解
- Android Studio 3.0以上
1. Android Studioプロジェクトの作成
Android Studioを起動し、MainActivity
という空のアクティビティを持つ新しいプロジェクト(GitApplicationDemo
という名前でも可)を作成します。
2.Integrating Git
プロジェクトが設定されたら、VCSメニューをクリックして、Import into Version Controlメニューにマウスを置き、Create Git Repository…を選択します。
Then select the top parent folder of your Android Studio Project.
OK button to click the project with Git initialize the Git.
That is the Android Studio. アンダーグラウンドでは、Android StudioはGitコマンドを実行します:
git init
備考として、このコマンドが何をするかは次のとおりです。
このコマンドは空の Git リポジトリを作成します。基本的には
.git
ディレクトリに、objects
、refs/heads
、refs/tags
、テンプレート・ファイル用のサブディレクトリが作成されます。 master ブランチの HEAD を参照する最初のHEAD
ファイルも作成されます。
情報ダイアログが表示されます。
これは .idea フォルダ内の vcs.xml というファイルについて教えてくれています。 このフォルダーには、プロジェクト固有の設定が含まれているだけです。 これは、最近のすべての IntelliJ IDEA バージョンで使用されている形式であることに注意してください。
理想的には、.idea/
にあるファイルは Git に届くべきではありませんので、.gitignore
に追加する必要があります。
デフォルトでは、master ブランチに切り替えられています。 プロジェクトの現在のブランチは、Android Studio の右下隅に常に表示できます。
3. GitHub または Bitbucket との統合
Android Studio で GitHub または Bitbucket アカウントにある Android ソース コード リポジトリで簡単に作業を行うことができます。 その方法をお見せしましょう。
バージョン管理 > GitHub からファイル > 新規 > プロジェクト に移動します。
(If you want to work on a repo from Bitbucket, select Bitbucket instead.)Githubのレポをクローンする。 インターネットからローカル マシンに Git リポジトリをクローンするだけなら、Git メニュー オプションを選択します)
Next, enter your GitHub account credentials and click Login.をクリックします。
ログインに成功すると、Clone Repository ダイアログがポップアップ表示されます。 このダイアログには、現在所有している、または作業したことのある GitHub 上のリポジトリのリストを含むドロップダウンが表示されます。
Clone をクリックして、すでに選択した親ディレクトリ内のローカルマシンにリポジトリをクローンします。
4. バージョン管理ウィンドウ
Git を使用して Android Studio プロジェクトを正常に開始すると、Android Studio にバージョン管理ウィンドウが表示されます。 Android Studio の左下にある Version Control タブをクリックし、その内容を確認してみましょう。 なお、このウィンドウはAlt-9で素早く開くことができます。
このウィンドウ内には、3 つの異なるタブがあります。 ローカル変更]、[コンソール]、および [ログ] です。
[ローカル変更] タブ
これは、ローカル (自分のマシン上) で変更され、まだリポジトリにコミットされていないファイルの一覧を表示します。
Local changes タブで利用できるアイテム ツールバーを見てみましょう。
- 現在の作業場でファイルの状態を更新するためにこのアイコンをクリックします。 ショートカットは Control-F5 です。
- このアイコンをクリックすると、現在の変更をコミットします。 ショートカットは Control-Alt-Z です。
- このアイコンをクリックすると、選択した変更をロールバックします。
- このアイコンをクリックすると、新しい変更履歴を作成します。 変更リストは、ソースコードの論理的な変更を表すファイルの変更点の集合であることに注意してください。 ショートカットは、Alt-Insert です。
- 選択したチェンジリストを削除するには、このボタンをクリックします。
- Changelist をアクティブにするには、このアイコンをクリックするだけです。
- 選択したファイルを別の変更リストに移動するには、このアイコンをクリックします。
- このアイコンをクリックすると、すべてのファイルを見るために展開されます。
- このアイコンをクリックすると、すべてのファイルを折りたたむことができます。
- このアイコンをクリックすると、フォルダごとにグループ化された変更されたファイルが表示されます。
- このアイコンをクリックすると、選択したファイルのパスがシステムのクリップボードにコピーされます。
- Click this icon to display the ignored files node with the list of existing files ignored by Git.
- Click this icon to set up the list of files that will ignore by Git.
- Click this icon to set up the list of files by Git by ignore by Git.
- このアイコンをクリックすると、Preview Diff ペインが開き、現在のファイルと最新のコミット済みリビジョンを比較することができます。
The Console Tab
Inside this tab, we see the result of performing Git-related commands. このタブ内ではGitコマンドを書くことができないので注意してください。
The Log タブ
このタブは、ローカルおよびリモート リポジトリのすべてのブランチにコミットされたすべての変更を表示します。 このタブ内では、任意のブランチへのコミットを参照することができます。
検索ボックスは、入力された文字列または正規表現を持つコミットを検索するために使用されます。
- このドロップダウンは、ブランチによってコミットをフィルタリングするために使用されます。 ローカルとリモートのすべてのコミットを表示するには、すべて (デフォルト) を選択するだけです。
- 作者でコミットをフィルタリングするには、このドロップダウンリストを使用します。 作者のコミットを表示するには、作者の名前を入力する必要があります。 すべてのユーザーによるコミットを表示するには、All を選択します。
- 時間範囲や特定の日付でコミットをフィルタリングするには、このドロップダウンを使用します。 日付を指定するには、[選択]をクリックして、日付を選択するだけです。 すべての日付に行われたコミットを表示するには、[すべて]を選択します。
- このドロップダウンを使用して、変更されたファイルのパスでコミットをフィルタリングします。
- このボタン (インテリソート) は、マージ コミットの直下に受信コミットを最初に表示することにより、マージをより便利に確認する方法を可能にします。
- このボタンが有効な場合、長いブランチは、その中にコミットがない場合でも、完全に表示されます。
- このボタンを使用すると、プロジェクトのコミット一覧を更新できます。
- ハッシュ、タグ、またはブランチに移動するには、単にこのボタンを使用します。
- 選択したコミットからの変更を現在のブランチに適用するには、このボタンをクリックします。
- このボタンをクリックすると、選択したブランチからのコミットで、まだ現在のブランチに適用されていないものがハイライトされます。
バージョン管理ツールウィンドウについては、IntelliJ IDEA のドキュメントで詳しく説明されています。
5. コミットを行う
Android Studio プロジェクトで Git の統合を設定したとき、ファイル名の色が茶色になったことに気づかれることでしょう。 IntelliJ IDEA の公式ドキュメントによると、茶色のラベルを持つファイルについて、
File exists locally, but is not in the repository, and not scheduled for adding.
File is not locally, but is not in the repository, and not scheduled for adding.
File is not in the repository.
Android Studio でコミットを行う方法を見てみましょう。 しかし、その前に、作業ディレクトリの変更をステージング エリアに追加する必要があります。 コンソールでは、
git add
コマンドを使用することになります。git add <file> || <directory>しかし、これは Android Studio 内から直接行うことができます。 Local Changes]タブの[Unversioned Files]ドロップダウンを選択し、右クリックして[Git]-[6701]-[Add]を実行するか、Control-Alt-Aを使用します。 ルート フォルダーを選択すると、その中のすべてのファイルがステージング エリアに追加されることを覚えておいてください。
Now, you can observe that your file label colors have changed from brown to green. 以下は、IntelliJ IDEA のドキュメントで、緑色に着色されたファイル名について述べられていることです。
ファイルはリポジトリに追加される予定です。
Android Studio (IntelliJ IDEA) のファイルの状態によってファイル名が持つ色の違いについては、ファイルの状態のハイライトに関するドキュメントを参照してください。
最後に変更をコミットするには、[ローカル変更] タブで [変更をコミット] ボタンをクリックし、[変更をコミット] ダイアログをポップアップ表示します。
- ここで、このコミットに含まれるべきファイルを選択または選択解除することができます。 デフォルトでは、すべてのステージング ファイルがチェックされます。
- ここにコミットメッセージを書き込みます。 もし以前に書いたコミットメッセージがある場合、デフォルトでここに表示されます。
- Gitにコミットする前に実行する操作(複数可)を選択します。
- 変更されたファイルをサイド バイ サイドで比較します。
- このドロップダウン ボタンを使用して、コミットしてプッシュするか、コミットのみを行うかを選択できます。
それでは、コミットを行うために、コミットメッセージを書いてみましょう。
Initial commitコミット ドロップダウンでコミットを選択すると、最終的に変更をコミットすることができます。 なお、Android Studio からは、ショートカット Control-K を使用していつでも変更をコミットできます。
ここで、バージョン管理ウィンドウの [ローカル変更] タブを再度表示すると、ローカル リポジトリにコミットされたため、そこに表示されているファイルはもうありません。
VCS > Git > Commit File… でコミット、VCS > Git > Add でステージング用のファイルを追加できることにも注意してください。 また、Android Studioのメイン上部のツールバーにあるコミットチェンジアイコンをクリックすると、素早くコミット(またはコミットしてプッシュ)することができます。
MainActivity.kt クラスで、
onResume()
をオーバーライドして、クラスで簡単な変更を行いました。 修正後のファイル名の色が青になったことにお気づきでしょうか。これは、ファイルを修正したことを意味します。Viewing the Commit Log
さて、もう一度バージョン管理ウィンドウを開き、ログ タブに移動してください。 ここで表示されるのは、このプロジェクトに行われたコミットです。 コミットの詳細を見るには、そのコミットをクリックするだけです。
- このメイン画面は、選択したフィルターに従って、プロジェクトのすべてのコミットを表示します。 言い換えれば、これはコミット履歴を表示します。
- このペインは、コミット履歴ペインで選択されたコミットによって影響を受けるファイルおよびフォルダーを表示します。
- このペインには、選択されたコミットに関する詳細が表示されます。
コミットを右クリックすると、リビジョン番号のコピー、パッチの作成、リビジョンのチェックアウト、そのコミットからの分岐、新しいタグの作成、現在のブランチをそのコミットにリセットするメニューを表示することも可能です。
では、どのコードが追加、編集、または削除されたかを見る方法を見ていきましょう。 言い換えれば、変更内容をより詳細にチェックアウトしたいのです。
単に、コミットによって影響を受けたファイルが表示されているウィンドウの上にある diff を表示するアイコンをクリックします。 Control-D を使用するか、ファイルまたはフォルダーをダブルクリックするのが近道です。
表示されるのは、直前のコミットと選択したコミットとの差分を表示する [差分の表示] ダイアログです。
ファイル内の緑色の領域は、ファイルに追加された行をハイライトしています。 灰色の領域は、削除された行をハイライト表示します。 そして、青色は変更された行をハイライトします。 差分の表示ダイアログの上部にあるフィルターやアイコンボタンを使って、より詳しく学んでみてください。
Show Diff ダイアログで画像への変更も確認できることに注意してください!
ファイルを右クリックすることにより、そのファイルの最後のコミットと現在のコミットの差分を表示するオプションもあります-show diff (ショートカット Control-D) です。 また、ソースの編集 (F4)、リポジトリのバージョンを開く、選択した変更を元に戻す、リビジョンの履歴を表示する、そのファイルのコミットの詳細を表示する、などの操作も可能です。 Git ブランチの作成
デフォルトでは master ブランチがカレントブランチになります。 しかし、常に master からブランチアウトして、別の機能固有のブランチで作業を行うことをお勧めします。 機能のコーディングが終わったら (そして変更点のテストが終わったら)、次にその変更を master ブランチにマージします。
それでは、master からブランチを作成する方法を見てみましょう。
Android Studio の右下隅に移動し、Git: master ドロップダウン メニューをクリックします。
[新しいブランチ]ボタンをクリックします。
ブランチ名を入力します。 この例では、devを使用します。
最後に、Android Studio が自動的に dev ブランチを作成し、またそのブランチにチェックアウトするために、[OK] ボタンをクリックします。
現在、dev ブランチにいます。
Under the hood, Android Studio executes the command:
git checkout -b devNote that we can also create a new branch by navigating to VCS > Git > Branches > New Branch.New Branch.
7. Gitブランチのマージ
dev ブランチの内部では、基本的なアクティビティ ProfileActivity を作成するだけです。kt とそのレイアウトファイルの変更をコミットしてください。 これから、Android Studioの中でdevをmasterにマージする方法を見ていきます。
現在のブランチ (dev) から master ブランチに移動してチェックアウトします (dev から master に切り替えるという意味です)。
Merge, Checkout, Delete, Compare, Rename Branch
ブランチをクリックすると、そのブランチに対して実行できる操作がいくつか表示されます。 操作には、マージ、2 つのブランチの比較、ブランチの名前の変更、リベース、チェックアウト、およびブランチの削除が含まれます。
この投稿では、ブランチをマージする方法について見ていきます。 master ブランチで、dev ブランチに移動し、メニューの [マージ] をクリックして、dev ブランチをマージしてください。
That’s it! これで、dev ブランチを master ブランチにマージすることに成功しました。
Behind the scenes, Android Studio executes the command:
git merge devNote that we can also do advanced merging right inside Android Studio.Now Now to do the right in Android Studio. マージ戦略 (Resolve、Recursive、Octopus、Ours、または Subtree) を指定したり、早送りマージ モードを使用しないようにしたりすることが可能です。
マージ時にこの設定を行うには、VCS > Git > Merge Changes…
ここで、マージする複数のブランチの選択、マージ戦略の選択、およびコミット メッセージの書き込みが可能です。 これらのマージ戦略を本当に理解し、マージする前に早送りモードを使用するかどうかを決定することを強くお勧めします。
8. リモート リポジトリへのプッシュ
すべての Git プロジェクトには、他の開発者が世界のどこからでもプロジェクトで共同作業できるリモート リポジトリまたは中央リポジトリが必要です。 Android Studio では、コミットや変更をリモートリポジトリにプッシュすることも可能です。 これを行うには、VCS > Git > Push… に移動します。
ここで、ポップアップした Push Commits ダイアログの Define remote リンクをクリックして、リモート リポジトリ URL を追加することができます。 最後に、完了したらPushボタンをクリックします! ショートカットは Control-Shift-K を使用することです。
Android Studio は裏で以下のコマンドを実行します。
git pushまた、メインツールバーのコミット変更アイコンをクリックするか Control-K を使用すれば、素早くプッシュでコミットを行うことができます。
9. リモートリポジトリからプルする
リモートリポジトリから最新の変更でプロジェクトを更新(プル)するには(すでにリモートオリジンを追加しているはずです)、VCS > Git > プル に移動します。 これにより、リモートリポジトリからの最新のコードで Android Studio プロジェクトが自動的に更新されます。
プルを開始するには、メイン ツールバーのプロジェクトの更新アイコンをクリックするか、Control-T のショートカットを使用することもできます。
これを実行すると、Android Studio は裏で Git
pull
コマンドを実行します。git pullpull または push 中にマージの衝突が発生すると、Android Studio に非常に便利なマージ衝突ダイアログが現れ、その衝突を解決するのに役立つことを注意してください。
まとめ
このチュートリアルでは、通常コマンドラインまたはターミナルで行うさまざまな Git 操作をいかに簡単に実行できるかを学びました。 Android Studio の Git ツールを使用すると、他の開発者と Android プロジェクトで共同作業を行うのがより簡単で効率的になります。
Androidのコーディングについてもっと学びたい方は、Envato Tuts+の他のコースやチュートリアルをチェックしてみてください。
AndroidShowing Material Design Dialogs in an Android AppChike Mgbemena AndroidCreate a Material Design Androidアプリのタブ型インターフェースChike Mgbemena AndroidAndroidアプリのテンプレートで音楽アプリを作るChike Mgbemena