Gitが使えると何が便利なの? ローカル編
2019-04-27
azblob://2022/11/11/eyecatch/2019-04-27-new-hire-training-convenience-of-git-000.png

はじめまして、新入社員の和田です。

入社式の最中に新年号「令和」が発表されるという衝撃のデビューを飾ってから約1か月。Azureを触ったり、ボドゲをしたり、サバゲをしたり、Reactを触ったり、飲み会をしたり、ボドゲをしたりと、かなり濃密な時間を過ごしてきました。研修でGitHubにも触れたのですが、同期の中にはそもそもGitをよくわかっていない人もいるようでしたので、今回は初心者向けのGitのお話をしたいと思います。

TL;DR

  • Gitはバージョン管理システムです
  • バージョン管理システムを使うとコードの変更履歴を保存できます
  • コードを改変しまくって動かなくなってしまっても、簡単に動いていた時のコードに戻せます

Gitって何?

Gitは、バージョン管理システムの一つです。なんだか耳慣れない言葉が出てきましたね。 バージョン管理システムは、ファイルの修正履歴を保存するためのシステムです。

例えば、横スクロールアクションゲームを作るときに、次のように1つの機能を実装するごとにファイルのバックアップを取ることができます。 (画像は、GitKrakenというGitを操作するためのソフトウェアの一つです。非常にデザインがかっこいいため愛用しています。)

GitKraken

もしもバージョン管理システムを使わずに管理しようとしたらどうなるでしょう? とりあえずzipでバックアップを取ってみましょう。

Version management, Zip file

……流石にこれはないですが、Gitを使って管理するよりずっと面倒そうですよね。

Gitを使うと何が便利なの?

Gitを導入すると、バージョン管理が簡単に実現できます。 つまり、

「ゲームを面白くするためにいろいろ書き換えたけどエラーが出るようになっちゃった! 動いていた時のコードってどんなだっけ!?」 

「機能の変更したけど前の方が良かったな……戻そう。」

という場合でも、簡単に変更前のソースコードを復元できるようになるのです。

終わりに

実際、これだけの機能であれば小規模開発ならzip管理でもなんとかなります。しかし、Gitを使うことによる恩恵は決してこの程度のことではありません。Gitは、チーム開発で利用してこそ本領発揮できるのです。 その話はまた、具体的な操作方法なども含めてリモート編でできればいいなと思います。