SVNからGitへ移行する必要はあるのか?

  • -

    シェア
  • ---

    LINEで送る
  • -

    はてなブックマーク
    ブックマーク
  • -

    pocket
  • -

    rss
他言語サイト
us us
Git ロゴ

バージョン管理といえばGitというほど一般的になっているGit。

Subversionからの移行を考えている人もいると思います。しかし、それぞれの事情によってなかなか踏み出せない人もいると思います。

Gitに移行する必要はあるのか?を考えます。

Subversionの更新は止まっていない!

Subversionのサイトを見ると、まだまだ頻繁にアップデートリリースは行われています。

アップデートが止まっていれば迷うことなくGitへ移行をおすすめしますが、まだまだ活発に活動しているので移行すべきか悩むところです。

バージョン管理を厳密にしていないのであれば移行する必要はない

環境によっては、あまりブランチを使わないこともあると思います。また開発規模が小規模で、とりあえず共用リポジトリに最新のリソースがあればいいという環境であれば、移行する必要はないでしょう。

このような環境では、GitのSubversionより良いところを生かせません。

それでもGitを使うほうが良い

ぼくは4年くらい前からプライベートの環境はすべてGitに移行しました。それでも、仕事の環境ではSubversionを使うことがまだまだ多いです。

同時に2つのバージョン管理ソフトウェアを使っている僕の率直な感想は、”Gitの方がストレスがない” です。

Gitを知ってしまった以上、SVNには戻れないというのが正直なところです。

Gitというものに出会わなければ今でもSVNを使い続けていたでしょう。ただ出会ってしまったものはしょうがないです。

trunk, branches, tagsなどの意味を覚える学習コストがいらない

GitはSVNに比べ、SourceTreeなどのように直感的な操作ができる環境がSVNよりも優れています。なので、

trunkって何?
branchesって?
tagsって?

という基本的な学習コストがSVNよりも小さく感じます。

直感的な操作を繰り返す中で自然に覚えます。書店に行って本を買う必要はありません。

それよりも、今はいろいろなところでGitに関するカンファレンスが開催されているので、そちらに一度参加して話を聞く方がずっと効率的です。本1冊分の情報をたった数時間で得られるでしょう。

今からバージョン管理を導入しよう、勉強しようという人にとってはGitから始めるべきです。

Gitは操作の流れが体系化されている

SVNでは、

trunk, branches, tags とは?

からはじまり、

trunk, branches, tagsの作り方

があって、

さぁSVNでバージョン管理をしましょう

となっていて、ブランチ、タグの使い方などは使用する人に任せられている部分が大きいです。

それぞれの環境でブランチ、タグの付け方などルールを決めるところもあるでしょう。だから、書籍やWebサイトなどで、

ブランチの正しい使い方
タグの正しい使い方

を学習する必要が出てくることもあります。

Gitではこれらの部分は体系化されています。SourceTreeではGitFlowという体系を採用しています。

GitFlow に沿った形で操作を行えば、ブランチ、タグの正しい使い方を学習する必要はありません。

SorceTreeでは、オリジナルのブランチ、タグを考えながら作ることはありません。GitFlowの操作の中でブランチは自動的に作られます。

タグは、テキストボックスにタグ名を入力するだけで、未入力でも構いません。

GitFlowでは、操作の流れを覚えるだけで十分です。SourceTreeではそのフローが直感的な操作でできます。

SVNは他人に迷惑をかけるリスクが高い

SVNではコミットを実行すると直接共用リポジトリが変更されます。そのため、コミットしたリソースに何かしらの不備があると関係者全員に迷惑をかけることになります。

Gitでは、リモートリポジトリ(共用リポジトリ)とローカルリポジトリとに分かれているため、そのリスクが小さくなります。

リモートリポジトリはSVNリポジトリと同じようなものです。ローカルリポジトリはリモートリポジトリのコピーを作業者のPCに作成します。

Gitではコミットしてもローカルリポジトリだけが変更されます。コミットした後になにかしらの不備に気付いて修正することに、他人を気にする必要はありません。
これだけでも相当ストレスは軽減されます。

Gitでは、SVNでコミットと呼ばれた行為は”プッシュ”といいます。プッシュしない限り共用リポジトリは何も変更されないので、自分のさじ加減で作業ができます。

Gitはホスティングサービスが充実している

Gitは、GitHubBitbucketなど、ホスティングサービスが充実しています。またGitLabなど、自作のバージョン管理システムを構築するソフトウェアが出て活発に活動しています。

SVNでバージョン管理システムを構築するにはそれなりに専門的な知識が必要です。

Gitでも専門的知識は必要なのですが、SVNよりも作業を助けてくれるソフトウェアや情報が数多く存在しているので、Gitのほうが良いでしょう。

最後に

以上のことから、Gitは作業効率上SVNより良いと思います。

SVNからGitへ移行するにはそれなりの工数がかかるから移行できないという考えもあるかもしれません。しかし、

  • 数日の移行コストをかけずにそれから先ストレスのかかる作業を続けるのか?
  • 数日かけて移行作業をして、それから先はストレスのかからない作業ができる。

を選ぶとしたらぼくは後者を選びます。

また、作業者全員の学習コストがかかるから移行できないという意見もあるでしょう。

ただ、Gitの使い方の学習コストを削るなら、そもそもその人たちは本当に仕事をしているのでしょうか?

仕事というのはたいてい日々の学習の繰り返しです。Gitの使い方くらい学習しましょうよ?と思います。Gitはそれぐらいの知識で十分使えます。

また、忙しいからという理由は理由になりません。本当に忙しい人は日々学習しています。そしてそういう人ほど本当にデキる人です。

これだと、Word、Excel、PowerPointを扱えないオッチャンを笑えないです。基本的には、自分は学習したくないという発想が同じですから。

自分も十分オッチャンなので、オッチャンの定義はよく分かりませんが… どうでもいいですね。

あくまでそれぞれの事情によります。

 

最近ITカテゴリでよく読まれている記事です。
post-cta-image
blog image

ドメイン取得の意味が分からない人へ。王道の方法を紹介します。

ドメインの登録業者を選ぶのに悩む必要はないです。サイトを簡単に早く公開するには全くいらないことで、むしろ邪魔です。『お名前.com』というサービスは必ず耳にします。そのお名前.comのメリットとデメリットと一緒に、ドメインの意味が分からない人が一番失敗しないドメインの取得方法を紹介します。

tadtadya.com

_

SNSでも記事を配信しています。
コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

この記事を気に入ったらぜひシェアも!!