アプリ開発を趣味に

アプリ開発で気になった内容をまとめます。

gitlabでソースコード管理

先日、Android Studioの開発環境構築を構築することができました。
本格的にスマホアプリを開発していく前に、ソースコードの管理方法について検討したいと思います。

手段

ソースコード管理手段として検討したのはgitlabとgithubの2つです。

2つの手段を比較サイトで見ていたところ、下記の点から今回はgitlabを採用します。

  • 無料
  • ソースコードを非公開でサーバーにあげることができる
  • 容量が無制限

まだ趣味の域を出ておらず、ランニングコストがかからないことは重要です。
ですが、こんな自分でもすごいアプリを開発できてしまうかもしれないと妄想すると、ソースコードは秘密にしておきたいと感じました。笑

gitのインストール

PCにgitをインストールします。
下記のサイトが非常にわかりやすく解説をしており、とても参考になりました。

サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】

上記サイトで説明されているtortoise gitをインストールするとGUIで簡単にソースコード管理をすることができますが、今回はAndroid Studioからコミット・プッシュなどをしてしまうので不要です。

gitlab アカウント作成

gitlabのホームページでアカウントを作成します。
この手順に関してはネットで検索をすると詳しく解説されたページがいくらでも見つかりました。

併せてプロジェクトの作成もしてしまいます。

f:id:tbs_m:20211121011517p:plain

SSHキーの作成

SSHキーを作成して、gitlabとAndloid Studioへ設定を行います...
と、言いたいところですが今回はパスワード方式で通信します。
SSHキーの設定を試みましたが実現することができませんでした...。(後述)

Android Studioの設定

Android Studioでgitの設定をしていきます。

プロジェクトを開き、「VCS」→「バージョン管理統合を使用可能にする(E)...」→「Git」を選択

 

f:id:tbs_m:20211121012823p:plain

f:id:tbs_m:20211121012959p:plain

これでローカルにリポジトリが作成されました。
gitをインストールしたパスの設定などは自動で行ってくれるみたいですね。

 

次に、プロジェクト内のファイルを管理対象ファイルに設定します。
ファイル名は色によって下記の意味をもちます。

  • 赤色:管理対象外
  • 緑色:管理対象に追加予定
  • 白色:最新の状態

ちなみに、背景が緑色にマークされているファイルはテストファイルであることを意味しているそうです。
他にもファイルの内容に応じて色分けされます。

f:id:tbs_m:20211121013846p:plain

プロジェクトのトップで右クリック→「Git」→「追加」を選択することで
全てのファイルを管理対象にすることができます。

しかし、ビルドで生成した設定ファイルなど管理対象に含めたくないファイルもあるはずです。
そういったファイルは「.gitignore」ファイルに記載することで管理対象外にすることができますが、あらかじめ管理不要なファイルは自動で設定してくれているみたいでした。

あとはコミット、プッシュ、マージで無事gitlabでソースコード管理をすることができました。

はまりポイント

gitlabとAndroid Studio間はsshで通信したかったので、しばらく設定と格闘していましたが実現することはできませんでした。

ネットで調べてみてもかなり古いサイトばかりで記載されている手順通りには進みません...。

サイトにはプラグインからGitLab Projectをインストールすればできると書いてありましたが、できないのでインストールせずに実現しました。

ご存じの方がいましたら、教えていただけますと幸いです。

Android Studioのヘルプサイト

余談ですが、Android Studioのヘルプサイトが全く大したことが書いてなくて不親切だと憤っていたんですが、ところどころダイアログの隅っこにある?マークをクリックすると詳しいサイトに飛べました...。早く押すべきだった...。

Android Studio の概要  |  Android デベロッパー  |  Android Developers

IntelliJ IDEA の概要 | IntelliJ IDEA (pleiades.io)

 

 

職場ではかなり昔から使われているソフトでソースコード管理を行っており、自分の知識が古いままであることに懸念を抱いています。
時代に置いて行かれないためにも、いろんなものに触っていきたいものです...。

プライバシーポリシー・お問い合わせ