Gitは、計算された任意のファイルのハッシュに基づいて、そのリポジトリにコンテンツを一意に保存します。ディレクトリの内部に同じファイルのコピーが2つある場合、gitは実際に一度だけ保存します。
この同じ概念が、ある種のファイルシステムとしてオペレーティングシステムレベルで実装されているかどうか疑問に思っていますか?
ファイルシステムがデフォルトでこのように動作した場合、dllの地獄の問題をうまく解決できます。基本的に、あなたに代わって自動的にシンボリックリンクします。すべてのアプリケーションは、依存関係のすべてを備えたディレクトリにパッケージ化することができます(jarなど)。
Ruby愛好家は、ライブラリをrubygemsとして公開することで共有します。それでも、gemを共有するためのこの努力は、悪夢を回避するためにすべての依存関係をローカルフォルダーにコピーするというVendor Everythingコンセプトにつながる展開の悪夢をもたらしました。