プログラマ行進曲第二章

主にソフトウェア関連の技術をネタにした記事を執筆するためのブログ

『入門Git』が全然入門じゃなかったので、Mercurialに入門することにしました。

[2011/11/01 10:59 追記]
最後の方に人物紹介の間違いがあったので修正しました。

Flickrに写真をアップしている間にブログを書いてみます。アップが終わるまで暇なので。

この前Pythonのイベントに行ってきたという話しをブログに書きましたが、そのイベント以後、私の中でプログラミング熱が急激に高まってきて、最近勉強を始めました。前述した記事の中でも書いたように、今のところはニコニコ動画の非公式APIを利用してちまちまとライブラリを書いています。

で、そこで問題になるのが「ソースコード管理」です。

実は私、仕事で少しSubversionを使ったことがあるくらいで、まともにSCMとやらを使ったことがなく、今当たり前のように使われているgitやgithubも使い方が分からないまま放置してきたのですが、自分でプログラムを作るようになったら「あ!あの時のコードのままの方が良かったのに!戻したいわ…」という事態が起こるようになったため、本格的に勉強してみようと思い、行動に移しました。

「今はgitがよく使われるしgitを勉強しようか」と思い、最初にトライしたのがこれです。

入門Git

入門Git

読んでみた感想は…

「…全然分からん!!」

最初の基本概念からして骨太でガチの説明しか書かれていないので、プログラミング素人には理解するのがきつすぎて断念しました。

何回かgitをいじろうとしてよく分からなくなってきた経験上、SCMを使うにはコマンドの使い方を押さえるだけでなく、「今どういう状態で、どういうことが行われているのか?」といった背景知識や基本概念を押さえておかないと、問題が起こったときに解決できなくなることは分かっていたので、今の自分ではgitを扱いきれないと判断しました。

じゃあ、どうしたら良いだろうと思っていたとき、Python Developers Festaで初心者ハンズオンをやっていた私の後ろの方で、イベント主催の@さんがやっていたgit-flowハンズオンでの言葉を思い出しました。

「gitはgitに習熟した数人のチームがガリガリコードを書いていくときには力を発揮するけれど、gitを理解していない人が使うと容易にリポジトリを破壊したりするから、初心者はmercurialを使ってみるのが良いと思う」

…というようなことをいっていたと思います。多分。*1

その言葉をちょうど本屋で思い出したので、立ち読み後、「これなら理解できるかも」ということでこんなmercurial本を買って、今勉強しています。

入門Mercurial Linux/Windows対応

入門Mercurial Linux/Windows対応

一度gitに挑戦して挫折した経験があるからか、この本は最初から理解しながら進められたので、分散型バージョン管理システムに慣れるために、まずはmercurialを使ってみることにします。

この本は絵と説明のバランスが上手く取れていて、初心者の自分でも丁寧にやれば理解できる範囲なのが嬉しいです。*2

@さんのmercurialチートシートも活用しながらmercurialを身につけていきたいですね。

*1:「多分」と自信が無いのは、初心者ハンズオンをやりながら聞こえてきただけで、真剣に聞いたわけではないからです。

*2:追記修正箇所はここ。当初は「この本は[twitter:@voluntas]さんが「mercurialの神」と読んでいる藤原さん(おそらく[twitter:@troter]さん?)が執筆された本(のはず)」と書きましたが[twitter:@troter]さん本人から違うと指摘を受けたので修正しました。詳しくはコメント欄を参照してください。