
Androidの開発に興味があり、絶賛アプリ開発中!
何度かチャレンジしたものの続かず、ただ今回こそはと意気込んでコツコツ進めています。
その中でGitLabを使ってバージョン管理をしようとしたものの、苦戦ッ!
慣れないAndroidStudioの操作で多くの時間を要してしまったので、備忘録的に記事にします。
目次
この備忘録のカバー範囲
1.AndroiStudioで新規のプロジェクトを作成し、
そのプロジェクトをGitLabに存在するプロジェクトにコミット・プッシュが行えるまでのフロー
2.GitLab側に存在するプロジェクトのクローンの仕方

なぜGitLabを使うのか?
今までソースの管理など碌にしていなかったんですが、アプリを作るとなると必要かなと感じました。
というのも、
「ストアに公開することがあったら、バージョンごとに区切っておかないと差分調整がしにくいんじゃないか」
と考えていたからです。
ついでに言えば、
AndroidStudioのような統合開発環境と、Gitの組み合わせで開発した経験がなかったため、
プログラマーとしては後学のためにも、このタイミングで習熟しておこうという気持ちもありました。

GitLabでバージョン管理する手順
AndroidStudio、GitLabの初期設定はここでは割愛します。
GitLab側でプロジェクト作成
まずGitLab側で必要な設定をしていきます。
と言ってもプロジェクト作成ぐらいです。


※特にこだわりがなければ「空のプロジェクトの作成」でOK

※プロジェクトの内容は適当なものでOK

正常にプロジェクトが作成されるとこのような画面になり、これでGitLabの準備は終わりです。
Android StudioでGitLabプロジェクトにプッシュ
ここからはAndroid Studioで、新規プロジェクト作成~GitLab連携まで行います。

※GitLab連携用のプロジェクトを新規に作成します、既存の未連携プロジェクトでもOK
ここではgit_testというプロジェクト名で新規作成しています、 GitLabのプロジェクトと名前を統一する必要はありません。

メニューの「VCS」から、さらに「VCS連携を有効にする」を選択します。

「Git」を選択します。

VCSの連携完了後、当該箇所が”master”と表示され、ローカルリポジトリが有効になります。

新規プロジェクトに含まれるデフォルトソースをコミット・プッシュし、GitLabプロジェクトに反映します。

必要な選択・入力をしていきます。
全てのファイルをコミット対象にしていますが、ここはお好みで。

一部で警告が出ますが無視します。

プッシュ先のGitLabを選択していきます。

GitLabで作成したプロジェクトのURLを入力します。
※名前はプロジェクト名と合わせる必要はありません。

プッシュします。

右下にキャプチャのようなポップアップが表示されれば成功です。

さきほどのGitLabプロジェクトのページをF5で更新し、
ブランチのメニューを見ると、先ほどAndroid Studioでプッシュしたプロジェクトのmaster(デフォルト名)があり、
GitLab側にソースをアップできたことが確認できました。
GitLab側でメインブランチにマージし、Android Studioでクローンする
さきほどプッシュしたソースをメインブランチにマージし、
Android Studioでマージ後のブランチを参照して開発ができるようにしていきます。




淡々とマージしていき、完了しました。

AndroidStudio側でクローンし、メインブランチでプッシュしたファイルを参照+編集できるようにします。

クローン可能なGitLab側のプロジェクトが一覧表示されるので、
先ほどマージしたプロジェクトを選択してクローンします。

クローンが成功すると、メインブランチにあったREADMEが開かれ、
ブランチ名の表記変更とファイル類がプッシュしたものになっていることを確認できます。
トラブルシューティング
アクセストークンを求められたら
GitLabに接続する際、アクセストークンの設定を求めれたときの設定を記載していきます。

こんな画面になると思うので「生成」を選択。

GitLabの画面が開くので、「パーソナルアクセストークン」の設定をします。
赤枠内の「api」、「read_api」、「read_user」をすべてチェックします。

生成したトークンをコピペすればOK

まとめ
「AndroidStudioでわざわざコミット・プッシュしなくてもいいんじゃない?」という悪魔の囁きも退け、
これで開発のスタート地点に建てたという感じです。
Android Studio周りって、「以前はできたけど、今のバージョンではできない」みたいなことがちらほらあるのか、
ググった参考サイトの内容をマネしてもうまくいかないケースがあり厄介ですね。
この備忘録もいつまで有効かはわかりませんが、末永く持ちこたえてくれることを期待しています。。。