【Unity4】昨日の失敗を繰り返さない。Gitの導入について

昨日は俺のミスもあったんだけど、MonoDevelopによって全スクリプトが改変されてしまうという事故が起きた。

バージョン管理をしていれば、一つ一つ手作業で元に戻さなくても、問題が起きた変更の直前にロールバックなんてことが出来たはずだ。たしか…。

それ以外にも、ネットワークを介して別マシンで同じプロジェクトをいじれるので、外出先のノートPCで作業。

家に帰ってデスクトップで同期して続きを作業する、なんてことも出来るし、マシンがクラッシュしても…やめとこう。

こんなの今じゃ当たり前だよな。

というわけでバージョン管理を導入することにした。

会社で使い慣れていたのはSubversionだが、せっかく導入からやるんだからと思って最新のGitを採用することにした。

Gitの導入方法は、リモートサーバーの設定も含めて次回の記事にアップしよう。

今日は、Gitとは何か?Subversionと何が違うの?ってことを、導入してみたつかんだ印象から記録しておく。あくまで印象や推測なので、間違ってたりすることもあるので、あくまで概要として読んでもらえたら。

まず、Gitの導入自体は、Windows版がGoogle様様大明神がリリースしてくれていたので比較的簡単だった、ということ。予期しない作業が増えるのを危惧したが思いのほかスムーズに出来た。

TortoiseGitなるいわゆる亀もGit版があり、日本語パッチも出ているので、こちらも楽。

つまり、ここからわかるのは、GitはSubversionとは異なり、Git本体がサーバー兼クライアントになっているということ。

なので、クライアントソフトの亀を使う場合も、Gitのインストールがいるのだろう。

なんでそうなってるのか、ということだが、ここがGitが分散型のバージョン管理システムといわれる所以だと。

つまり、リポジトリは各ローカルマシンにあるのだ。

どのマシンのリポジトリをマスターとするかは、自由というわけだ。

それが、よくもあり、若干ややこしい点でもある。

上記の点から、こういう結論が導かれる。

Subversionでのコミットという概念が、Gitではさらに、コミットとプッシュという概念に細分される。

Gitの狭義のコミットは、ローカルマシンへのコミットだ。

外出先で作業した内容をコミットすると、ローカルマシンに変更履歴が記録される。

もし、リモートマシンにもこのコミットを反映させるのであれば、さらにリモートに対してプッシュを行う、というわけだ。

そこだけ抑えておけば、あとはSubversionを使ったことがあれば、問題なく使えるのかなと。

もっとディープな使い方もあるんだろうけど、個人のプロジェクトでそこまで深く掘り下げる機会もないだろう。

そもそも、Subversionだけで十分すぎるくらいなのだ。わはは。

次回は、ローカル(Windows)とリモート(CentOS)で実際にプロジェクトの同期までやってみた手順を備忘録として残しておこうと思う。

今日は、これからスーパーマリオ3Dワールドを遊ぶのだ。わはははは。

5年前

コメントを残す

メールアドレスが公開されることはありません。