Githubアカウントが、エンジニアやHTMLコーダーの採用面接で必須になったり、Gitを使ったプロジェクト管理がプロジェクト参加への必須スキルになっていたりと、GitはエンジニアやHTMLコーダーにとって避けては通れない技術になりました。
しかし、未だにGitへの移行ができず、SVNを利用し続けているweb制作会社が多く存在するのも事実です。
わたし自身、エンジニアとして様々な制作会社様とお仕事をさせていただきますが、Gitの使用を断られるケースが多々あります。(社内での管理でSVNを使っている、もしくはバージョン管理システムを使っていない制作会社様もいるため)
そこで、今回は、
「なぜ、SVNではなく、Gitを使ったほうがいいのか?」
をご説明いたします!
1.ブランチ運用が簡単に出来る

Gitを利用する一番のメリットは
「ブランチ運用」
です!
ブランチ運用とは、Gitでバージョン管理しているファイル一式を元に、全く同じファイル一式を別軸で複製して、複数の軸(ブランチ)でプロダクトを作ることをいいます。
例えば、公開されているサイトにスライドショーを追加実装する際に、公開用ブランチを元にスライドショーブランチを作成します。そうすることによって、公開用ブランチとスライドショーブランチで全く同じファイル一式を複製することが出来ました。
その状態のまま、スライドショーブランチのファイルにスライドショーを実装します。そして、正常にスライドショーが作動していることをスライドショーブランチで確認した上で、公開用ブランチに差分ファイルを一括でマージすることができます。
ブランチを切ることが出来るおかげで、複数人が同時に一つのソースを修正しても、各々の変更分だけマージしていくことが出来るのです。
2.Githubを中心に様々なwebサービスを利用できる
githubはエンジニアの強い味方!(Github)
Gitを取り巻く環境はドンドン便利になってきています。
Githubやbitbucketといったサービスを利用することで、誰でも簡単にバージョン管理システム環境を構築することができます。
※自分のサーバーにGit環境を構築することもできます。
また、日本のweb業界で非常によく使われているBacklogというタスク管理ツールにもGit機能が組み込まれていて、タスク管理と共にファイルのバージョン管理も出来るようになっています。
こういった様々な外部サービスの拡充によって、Gitを始める敷居は下がりつつあります。
3.自動化を行い、生産性を劇的に上げることができる。

Gitを使いこなせるようになれば、様々な自動化を実現でき、作業効率が大幅に上がります。
例えば、Jenkinsという技術を使えば、
- 開発用ブランチにファイル一式をPUSHしたら自動で開発用webサーバに反映
- 本番用ブランチにファイル一式をPUSHしたら自動で本番用webサーバに反映
といった自動化も可能です。
この自動化が実現すれば、テストのためにわざわざ開発用webサーバにFTP通信する必要もないですし、本番反映の際に本番サーバに接続する必要もなくなります。
自動化を利用して、いかに作業量を減らすか?が、良いプロダクトを作るために必要なこと。是非、Gitを利用して、作業量とともにストレスも減らしてください。
4.更新中のサイトを拡張しやすい

1で説明したブランチ運用とほとんど同じなのですが、実際のweb運用で頻発するケースをGitを利用してスマートに解決する方法を紹介します。
例えば、あるwebサイトを運用していて、そのサイトは毎日ニュースを更新しなければなりません。しかし、そのサイトに新機能を追加実装することになりました。
旧来のweb制作運用の場合、本番公開用のファイル一式と機能拡張用のファイル一式を別管理して、機能拡張が完了したら、本番公開用ファイルのほうで先に進んでしまったニュースを手作業でマージして本番公開しなければなりません。
しかし、Gitのブランチ機能を利用すれば、本番でのニュース更新は今まで通り続けて、新機能用ブランチで新機能の開発を行い、実装完了後にGitが差分ファイルだけ自動でマージしてくれます。
こういった運用は実際のweb制作の現場で頻発するケースで、Gitを利用できるか出来ないかで作業効率・ミスの起こしやすさが大きく変わってきます。
5.差分ファイルを取得しやすい
1 |
git archive --format=zip HEAD -o "../diff.zip" `git diff --name-only [コミット番号] HEAD` |
とweb制作会社で働いている人は何度も言われたことがあると思います笑
わたしも何百回言われたことか・・・
もし、Gitで管理をしていなかった場合、前回の公開ファイルと最新のファイルを見比べて、手作業で差分ファイルを作成しないといけませんよね?このやり方の場合、時間がかかるだけでなく、漏れが発生する可能性が非常に高いです。
そんなときにGitの「git archive」コマンドを使用すれば、自動で差分ファイルを作成することができます。しかも、ちゃんとディレクトリ構造もそのままで差分ファイル一式が出来ます。
この機能のためだけにGitを使用してもいいのではないか?と思うぐらい便利な機能です!
6.Gitが使えないと仕事がなくなる?

Gitが使えないと仕事がなくなる可能性は大いにあります。
なぜなら、Gitはチーム全員で使う技術だから。もし、一人でもGitが使えないメンバーがいると、プロジェクトメンバー全員の生産性とモチベーションを下げてしまいます。
それぐらいパワフルな技術ですので、もし、web業界で働いているにも関わらず、Gitに対する理解が甘い人は死ぬ気で勉強しましょう。仕事がなくなったら、死ぬかもしれないので・・・
まとめ
- ブランチ運用が簡単にできる
- Gitを利用した様々なサービスが存在する
- 自動化を行い、生産性を劇的にあげることができる
- 更新中のサイトを拡張しやすい
- 差分ファイルを作成しやすい
- Gitが使えないと仕事がなくなる
以上のように、Gitをマスターすれば、数々の恩恵を受けることができます。
これからのweb制作において、エンジニアだけではなく、デザイナーやディレクターもGitを使うことが要求されるようになっていくでしょう。
是非、今のうちにGitを使えるようにしてしまいましょう!