SVNと何が違う?Gitでバージョン管理をしてみよう

こんにちは! ライターのナナミです。

プログラムの開発において重要なバージョン管理、みなさんどのように行なっていますか? 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の魅力は色々あります。下記の記事でめちゃくちゃ楽しそうに解説しているので、ぜひこちらも読んでみてください。

>>Git Loverが語る、Gitの魅力とは?

デメリット

もちろん、メリットばかりではありません。

SVNの機能がシンプルな分使いやすいというメリットに対し、Gitは多機能ならではの複雑さがあるのです。

Gitについて学ぶ必要がある

Gitはコマンドでリポジトリを制御することが多いです。つまり、コマンドを覚える必要があるということですね。言語のアップデートもめまぐるしい中、新しい学習工数はなかなかネックになるやもしれません。SVNは構築してしまえば割とサクサク使えるツールが色々あるので、手軽さで言ったらSVNに軍配が上がるでしょう。

GitHubで非公開にする場合は有料プラン

Git自体は無料のツールです。しかしGitで管理しているソースを、GitHubでチームごとに管理する場合、そのままだと全てのユーザーに公開されてしまいます。メンバーを限定して管理したい場合は、有料のアカウントが必要になるので注意しましょう。

しかしこれらのデメリットを加味しても、Gitでのバージョン管理はとっても便利です。どんな風に使うのかを少し紹介してみますので、ぜひチャレンジしてみてください。

Gitでバージョン管理をしてみよう!

まずはGitをインストールしておく必要があります。お使いの環境によって手順が異なるので、詳しくは下記の記事などを参考にしてみてください。

>>Gitをインストールして、バージョン管理を始めよう!

準備ができたら、早速リポジトリの作成から始めていきましょう!

リポジトリを作成しよう

まずは管理するためのリポジトリを作成します。リポジトリとは、管理の対象となるフォルダだと思っていただければOKです。作り方はツールを使った場合とコマンドを使った場合でちょっと違うので、下記の記事などを参考に自分にあった方法で作成してみてくださいね。

>>まずはここから!リポジトリの作成方法

コミットしてみよう

リポジトリの準備ができたら、早速コミットしてみましょう。コミットすることで、以降そのファイルのバージョンを管理し続けることができます。比較して差分をとったりできるようになるので、とっても便利です。

詳しくは下記の記事で確認してみてくださいね。

>>レッツバージョン管理!Gitでローカルコミットする方法

共有リポジトリにコミット(プッシュ)してみよう

ローカル環境で管理するだけでもいいのですが、複数人でプログラムを管理している場合は共用リポジトリへコミットしたいですよね。この共用リポジトリへのコミットを、プッシュと言います。

プッシュするための共用リポジトリの作成方法や、プッシュの方法については下記の記事が詳細に解説しています。ぜひ併せて確認してみてください。

>>みんなでバージョン管理!Gitで共用リポジトリにプッシュする方法

共有リポジトリからファイルをダウンロード(プル)してみよう

途中から案件にjoinした場合など、現在の最新データが欲しい時ってありますよね。そんな時は、共用リポジトリからファイルをダウンロードすることができます。このダウンロードをプルと言います。

プルの方法は下記の記事で解説しているので、参考にしてみてくださいね。

>>最新データをGET!Gitで共用リポジトリからプルする方法

内容が競合した時は

コミットしたりした時、場合によっては同僚と同じファイルを更新していて、内容の競合が起きることがあります。そんな時は焦らず騒がず、2つのファイルをマージしていきましょう。

マージとは、バージョンが枝分かれしてしまったファイルを一つにまとめ直す作業です。まとめることで、最終的な完成形に近づけていくということですね。

マージのやり方は、下記の記事で詳しく解説しています。こちらも併せてご覧ください。

>>分かれてしまったファイルを再び一つに!マージのやり方

SVNからGitに移行しよう

ここまででGitの魅力は少しでも伝わりましたか?

もしちょっと使ってみたいけど、今使ってるSVNをどうしよう…とお悩みでしたら、下記の記事を参考にお引越ししてみるのも手だと思います。

>>SVNからGitへ!移行するための手順を解説

まとめ

いかがでしたか?

今回紹介したのは、Gitの魅力のほんの一部にすぎません。ぜひ色々活用して、さらに魅力を引き出してあげてくださいね!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次