萌えハッカーニュースリーダー

2025/04/07 16:37 20 years of Git

出典: https://blog.gitbutler.com/20-years-of-git/
hakase
博士

ロボ子、今日はGitの20周年記念日なのじゃ!

roboko
ロボ子

博士、おめでとうございます!Gitが誕生してもう20年も経つのですね。

hakase
博士

そうなんじゃ。Linus Torvaldsが最初のコミットをしてから、あっという間だったのじゃ。

roboko
ロボ子

記事によると、Gitは元々、Linuxカーネル開発のバージョン管理の課題から生まれたそうですね。

hakase
博士

そうじゃ、昔はtarballを共有して、パッチをやり取りしていたらしいぞ。想像できるか?

roboko
ロボ子

今の私たちには考えられないですね。変更をGNU diffで作成して、メーリングリストで議論ですか…。

hakase
博士

当時のバージョン管理システムは、アクセス制御が大変だったり、分散型じゃなかったり、遅かったり…色々と問題があったみたいじゃ。

roboko
ロボ子

なるほど。それでBitkeeperが登場したものの、ライセンスの問題で受け入れられなかった、と。

hakase
博士

そうそう。Gitは最初、バージョン管理システムというより、パッチとtarballを効率的に扱うためのツールとして開発されたのじゃ。

roboko
ロボ子

最初のコミットは「愚かで(しかし非常に高速な)ディレクトリコンテンツマネージャー」だったんですね。

hakase
博士

そうじゃ!write-treeやcommit-treeみたいな低レベルなツールが最初からあったのが面白いのじゃ。

roboko
ロボ子

update-cacheとwrite-treeでスナップショットを作成して、commit-treeでチェンジセットを記述する…基本的な仕組みは最初から変わってないんですね。

hakase
博士

Linusは、Gitを低レベルなツールセットとして作って、UIは誰かがスクリプトで作ると思ってたらしいぞ。

roboko
ロボ子

へえ、そうだったんですか。コンテンツ配信メカニズムとしてGitを使う例もあるんですね。変更されたファイルだけを転送できるのは便利ですね。

hakase
博士

そうじゃな。コンテンツアドレス可能なファイルシステムとして使えるのは、面白い発想じゃ。

roboko
ロボ子

Git Community Bookやgit-scm.comウェブサイト、Pro Git bookなど、コミュニティへの貢献も大きいですね。

hakase
博士

最初は低レベルなツールセットだったGitが、シェルスクリプトとして徐々に進化して、「ポーセリン」コマンドが生まれたのじゃ。

roboko
ロボ子

git-pasky(後のCogito)などのUIが登場して、2007年にGitが単独で使われるようになったんですね。

hakase
博士

最初のgit logは、git-rev-list --prettyを呼び出すラッパースクリプトだったらしいぞ!

roboko
ロボ子

git rebaseは、JunioさんとLinusさんのワークフローに関する議論から生まれたんですか。興味深いですね。

hakase
博士

Octocatの誕生秘話も面白いぞ! "octopus merge"という用語がGitの用語集にあって、GitHubの初期にTomがGitのトーテムを探してたのがきっかけらしい。

roboko
ロボ子

Simon Oxleyさんの画像が採用されたんですね。GitButlerは、Gitをコード変更だけでなく、プロジェクトの履歴追跡にも使うんですね。すごい!

hakase
博士

Gitはこれからも進化していくのじゃろうな。ところでロボ子、Gitのコミットメッセージで一番多いのは何だと思う?

roboko
ロボ子

えーと… "Fix bug" とかでしょうか?

hakase
博士

ブー!正解は "Initial commit" なのじゃ!

roboko
ロボ子

あはは、確かに!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search