2014年4月26日土曜日

一人の開発でもGitを使おう

Gitを使っていますでしょうか?

Gitは版管理システムというものの一つで、簡単に言うとチームで開発するときにコードがこんがらがらないように一ヶ所にまとめて管理し、かつ各々が自由に開発できるという便利なシステムです。

元々はLinux開発の為にリーナスが一週間かけて開発したシステムだそうです。ので多くのオープンソースで使われております。つまり、オープンソースのように不特定多数の開発者間でも開発することを可能にする、頑強なシステムになっています。

そうすると一人の開発で使うものじゃないと思われるかもしれませんが、実はこれは一人での開発にも非常に役立ちます。どういうことかというと、例えば一ヶ月前・一ヶ月後の自分なんて他人もいいところだということです。

自分で書いたコードでもちょっと前のものだとよく分からなくなるというのはよくあることだと思います。また、ある変更を加えた後にやっぱり変更前のものの方が良かった、ということもあるでしょう。テキストエディタなら結構履歴が残っているものですが、この時点に戻したい、というのを探し出すのはかなり時間がかかります。加えてそれが複数のファイルに跨る変更だった場合、ファイル間の変更も同期させないといけない訳ですから、これは非常に面倒ですね。

そこで便利になるのが版管理システム、Gitです。単独での開発においてもGitを使うと何が便利なのかというと、


・「ここの時点のコードに戻したい」というのをすぐに戻せる。

・複数のファイルを同期して戻すことが出来る。

・GitHubにあげれば色んなパソコンで共有出来る。

などがあげられます。


ただ、Gitは使い方が難しいということで敬遠されがちです。最低限必要なコマンドが結構あり、かつコマンドの順序が定まっている部分もあります。ので習熟に時間はかかるでしょう。

なぜ難しいのか。それは「正しい使い方を簡単に、間違った使い方を困難に*」というインターフェイスの原則に従っているからです。つまり、何でもかんでも制御可能にしてしまうと共同開発には使えない訳です。ので、望ましくないコマンドを受け付けないことで頑強性を実現していると言う訳です。そして、一度正しい使い方を理解すれば非常に簡単に版管理システムを使うことが出来ます

最近では非常に明解なGUIが整備されています。WindowsならTortoiseGit, Linuxならcola-gitとか。

いずれどこかで使いますし、ここで覚えてしまっては如何でしょうか。



・参照リンク
Windows用GUI:TortoiseGitの使い方
サルでもわかるGit入門

Gitの構造・システムについて解説されている、入門Git。
サルでもわかるGit入門はコマンドの使い方等の説明は非常に丁寧なので慣れたらこれを読めばいいと思いますが、UIの説明に重心が寄っていて、Gitというシステム全体についての解説が薄いように思えます。Gitの設計を知ることこそGitを習熟する肝だと思うので、この本をお勧めします。





*「正しい使い方を簡単に、間違った使い方を困難に」というのはプログラマが知るべき97のことより。





0 件のコメント:

コメントを投稿