こんにちは! ライターのナナミです。
プログラムの開発において重要なバージョン管理、みなさんどのように行なっていますか? 1人で開発しているならそのままどんどん上書きしたり、日付で管理してもいいのかもしれませんね。
しかし複数人での開発や長期の開発では、バージョンがあやふやになってしまうこともしばしば…
今回はそんなバージョン管理について、GitとSVNを比較しながら紹介していきます。バージョン管理をしっかり行えるようになって、開発時の負担を減らしちゃいましょう!
バージョン管理、どうしてる?
バージョン管理の方法って色々ありますよね。その中でも近年人気が出ているのがGitです。Gitとはプログラムのソースコードのバージョンを管理することができるツールの一つです。今や全世界で活用されている、エンジニアには欠かせないツールとなっています。
過去、バージョン管理ツールはSVNが主流でしたが、Gitが人気になるにつれてだんだんシェアも下がりつつあるようです。ということで、今バージョン管理を始めるならGitがおすすめです。その理由は、このあと詳しく紹介していきましょう。
Gitでバージョン管理をするメリット・デメリット
なぜそんなにGitが人気になったのでしょうか。それはGitが持つメリットが、開発者にとってとても使いやすいものだったからです。どのようなメリットなのか、SVNと比較しながら確認していきましょう!
メリット
SVNの場合、管理するためのフォルダ(リポジトリ)を、全員で共有して使います。つまり、みんな同じサーバーにコミットするということですね。
では、Gitの場合はどうなのでしょうか? ここにGitでバージョン管理をする大きなメリットがあります。
ローカルコミットで個人管理ができる
Gitではサーバー上にコミットする前に、ローカルでコミットをすることが可能です。一旦自分のパソコンでバージョン管理を行ない、提出するタイミングでサーバー上にコミットするという運用ができるのです。
一旦溜めてから全体にコミットする形になるので、不要なコミットを減らすことができますね。
コミット不要のファイルを管理しやすい
さらにGitでは、コミットする前に一度ファイルをインデックスというものに入れる仕組みがあります。インデックスは、コミットの準備をする場所です。このインデックスに登録されているファイルのみがコミットされます。
つまり、コミット不要のファイルはインデックスに登録しなければコミットされないのです。事情により一部のファイルだけコミットしておきたいという時、とても便利ですね。
GitHubが使える
これがGit最大の魅力と言ってもいいでしょう。GitHubとは、Gitを使ったWEBアプリケーションです。
バージョン管理もそうですが、自身が作ったプログラムの配布などにも使われています。
書いたコードのレビューを依頼したりもできるので、自分のレベルアップにも繋がります。Gitを使うなら、ぜひGitHubも活用してみてくださいね!
他にもGitの魅力は色々あります。下記の記事でめちゃくちゃ楽しそうに解説しているので、ぜひこちらも読んでみてください。
デメリット
もちろん、メリットばかりではありません。
SVNの機能がシンプルな分使いやすいというメリットに対し、Gitは多機能ならではの複雑さがあるのです。
Gitについて学ぶ必要がある
Gitはコマンドでリポジトリを制御することが多いです。つまり、コマンドを覚える必要があるということですね。言語のアップデートもめまぐるしい中、新しい学習工数はなかなかネックになるやもしれません。SVNは構築してしまえば割とサクサク使えるツールが色々あるので、手軽さで言ったらSVNに軍配が上がるでしょう。
GitHubで非公開にする場合は有料プラン
Git自体は無料のツールです。しかしGitで管理しているソースを、GitHubでチームごとに管理する場合、そのままだと全てのユーザーに公開されてしまいます。メンバーを限定して管理したい場合は、有料のアカウントが必要になるので注意しましょう。
しかしこれらのデメリットを加味しても、Gitでのバージョン管理はとっても便利です。どんな風に使うのかを少し紹介してみますので、ぜひチャレンジしてみてください。
Gitでバージョン管理をしてみよう!
まずはGitをインストールしておく必要があります。お使いの環境によって手順が異なるので、詳しくは下記の記事などを参考にしてみてください。
準備ができたら、早速リポジトリの作成から始めていきましょう!
リポジトリを作成しよう
まずは管理するためのリポジトリを作成します。リポジトリとは、管理の対象となるフォルダだと思っていただければOKです。作り方はツールを使った場合とコマンドを使った場合でちょっと違うので、下記の記事などを参考に自分にあった方法で作成してみてくださいね。
コミットしてみよう
リポジトリの準備ができたら、早速コミットしてみましょう。コミットすることで、以降そのファイルのバージョンを管理し続けることができます。比較して差分をとったりできるようになるので、とっても便利です。
詳しくは下記の記事で確認してみてくださいね。
共有リポジトリにコミット(プッシュ)してみよう
ローカル環境で管理するだけでもいいのですが、複数人でプログラムを管理している場合は共用リポジトリへコミットしたいですよね。この共用リポジトリへのコミットを、プッシュと言います。
プッシュするための共用リポジトリの作成方法や、プッシュの方法については下記の記事が詳細に解説しています。ぜひ併せて確認してみてください。
>>みんなでバージョン管理!Gitで共用リポジトリにプッシュする方法
共有リポジトリからファイルをダウンロード(プル)してみよう
途中から案件にjoinした場合など、現在の最新データが欲しい時ってありますよね。そんな時は、共用リポジトリからファイルをダウンロードすることができます。このダウンロードをプルと言います。
プルの方法は下記の記事で解説しているので、参考にしてみてくださいね。
>>最新データをGET!Gitで共用リポジトリからプルする方法
内容が競合した時は
コミットしたりした時、場合によっては同僚と同じファイルを更新していて、内容の競合が起きることがあります。そんな時は焦らず騒がず、2つのファイルをマージしていきましょう。
マージとは、バージョンが枝分かれしてしまったファイルを一つにまとめ直す作業です。まとめることで、最終的な完成形に近づけていくということですね。
マージのやり方は、下記の記事で詳しく解説しています。こちらも併せてご覧ください。
SVNからGitに移行しよう
ここまででGitの魅力は少しでも伝わりましたか?
もしちょっと使ってみたいけど、今使ってるSVNをどうしよう…とお悩みでしたら、下記の記事を参考にお引越ししてみるのも手だと思います。
まとめ
いかがでしたか?
今回紹介したのは、Gitの魅力のほんの一部にすぎません。ぜひ色々活用して、さらに魅力を引き出してあげてくださいね!