Gitlet - Gitを理解するために作られたJavaScriptによるGit実装
何かの技術を理解しようと思った時、あなたならどうしますか。入門書を読んだり、仕様書を読んだりする人もいるでしょう。しかしそれは技術の習得はできても、本質は理解できないかも知れません。 Gitのディレクトリ構造がなぜこうなっているのか、どういった仕組みで動いているのか…そんな疑問からはじまったのがGitletです。JavaScriptによるGit実装となっています。
Gitletの使い方
Gitletのインストールはnpmでできます。
npm install -g gitlet
では実際に使ってみましょう。基本的な使い方はgitコマンドと同じです。まず初期化します。
$ mkdir a
$ cd a
$ gitlet init
$ ls -al
total 0
drwxr-xr-x 3 nakatsugawa staff 102 1 26 12:31 .
drwx------+ 43 nakatsugawa staff 1462 1 26 12:31 ..
drwxr-xr-x 6 nakatsugawa staff 204 1 26 12:31 .gitlet
ファイルを追加します。
$ echo first > number.txt
$ gitlet add number.txt
$ gitlet commit -m "first"
[master 48f284bb] first
追加しました。続いてクローンします。
$ cd ..
$ gitlet clone a b
Cloning into b
$ cd b
$ echo second > number.txt
$ gitlet add number.txt
$ gitlet commit -m "second"
[master 18b7358e] second
さらにフェッチしてマージします。
$ cd ../a
$ gitlet remote add b ../b
$ gitlet fetch b master
From ../b
Count 6
master -> b/master
$ gitlet merge FETCH_HEAD
Fast-forward
最後にブランチを切ってプッシュします。
$ gitlet branch other
$ gitlet checkout other
Switched to branch other
$ echo third > number.txt
$ gitlet add number.txt
$ gitlet commit -m "third"
[other 60bb58a7] third
$ gitlet push b other
To ../b
Count 9
other -> other
ここまでの一通りの操作がGitletにて可能です。1600行を越えるソースコードで表現されています。これによって開発者の方はより深くGitを理解できたとのことです。単純に使うだけでなく、本質を知るというのはGitの利用はもちろん、他の開発においても役立つ知識になることでしょう。
Gitletはnode/JavaScript製、MIT Licenseのオープンソース・ソフトウェアです。