※2021年10月19日時点での最新バージョンを使用した際の体感です。
主な使用言語がJavaなので、開発環境はそれに寄ったものになってます。
OS:Windows10
はじめに
プロジェクトでバージョン管理を行おうと思った際にどれがどのようなサービスを提供しているのか、がわかりにくかったため、備忘録的に記しておこうと思いました。まだまだ初心者のため、足りない部分はあると思いますがご了承ください。
また、本投稿はバージョン管理の使い方や環境設定の解説ではないため、省かせていただきます。
・Git
コマンドラインを利用したバージョン管理機能。主にローカルリポジトリでの管理を行う。
グループでのバージョン管理も可能だがオンラインで共同編集するための機能はない(はず)。
・GitHub
Gitを用いてオンライン上にリモートリポジトリを作成し、共同編集を可能にしたもの。
とあるサイトには、GitとGitHubの違いに関して、メールとGmailのような違いとあったが、個人的にはメールサーバとGmailの違いという印象を受けた。要するに、Gitを元にしたサービスがGitHubであり、Gitをインストールしていることが前提となる。
・GitHub Desktop
GitHubが提供するGUIで管理ができるアプリケーション。
これをインストールすると内部にGitが組み込まれているようで、Gitを別でインストールしなくてもバージョン管理が可能。GitHubにログインし、ローカルリポジトリの作成、クローンを行い、そのファイルを各種エディタで編集して、アプリ内でコミットやプルプッシュが行える。
IDEによってはそのIDEの機能の一つとしてバージョン管理が行えるものもあるが、そういったIDEと併用するのは難しそう(二重構造になりそう?)なので上手く使い分けたい。ちなみに、私は見事にこの状態に陥りました。
・AndroidStudio
GitやGitHubと直接的に連携できるIDEの例として、AndroidStudioを取り上げる。おそらく、というか必ずこのほかにも連携するIDEが多くあると思うが、私が利用したのはこれなので、これについて述べる。
AndroidStudioの場合、必要となったのは、GitHubへのログイン(これがちょっと曲者)とGitのインストールだった。Gitはすでにパソコン上にインストールされていたとしても、AndroidStudio直下にないとエラーを吐くので恐れずシステムが吐く指示に従ってインストールしていいと思う。また、GitHubへのログインはトークンを生成したりしなきゃいけず、めんどくさかったので別途記事にする(はず)。
話を戻すと、一度連携できればおそらくすべてAndroidStudio上で完結するので、いちいちアプリの移動は必要ない。
以下は紹介はしますが、記憶が怪しいので余談程度に読んでください。
・SourceTree
Atlassianが提供するGitHubと連携し、GUIで管理できるアプリケーション。
会員登録であったり、SSHしか使えなかったりと利用できるまでがめんどくさいが、UIに関してはGitHub Desktopよりも直感的で使いやすいと感じた。ただし、めんどくさいの方が大きい。
・Eclipse
私はSourcetreeとこれを連携させてバージョン管理を行なっていました。
Eclipseでも直接GitHubとつなげそうな感じがしたが、当時の私には方法がわかりませんでした。
最後に
バージョン管理をしようと思った時に、ローカルでの管理なのかリモートでの管理なのかわかりづらいと感じたので、自分が忘れないためのメモとしても残しておこうと思いました。知識も不十分ですし、文章もわかりにくい点が多いかと思いますが、もし少しでも参考になれば幸いです。