In Bezug auf Git könnte es von historischer Bedeutung sein, dass Linus Torvalds diese Frage 2007 aus konzeptioneller Sicht in einem Vortrag beantwortete, der aufgezeichnet wurde und online verfügbar ist.
Die Frage ist, ob es möglich ist, nur einige Dateien aus einem Git-Repository auszuchecken.
Tech Talk: Linus Torvalds über Git t = 43: 10
Zusammenfassend sagte er, dass eine der Entwurfsentscheidungen von Git, die es von anderen Quellverwaltungssystemen unterscheidet (er zitiert BitKeeper und SVN), darin besteht, dass Git Inhalte und keine Dateien verwaltet. Die Implikationen sind, dass z. B. ein Diff einer Teilmenge von Dateien in zwei Revisionen berechnet wird, indem zuerst das gesamte Diff genommen und dann nur auf die angeforderten Dateien beschnitten wird. Ein weiterer Grund ist, dass Sie die gesamte Geschichte überprüfen müssen. alles oder nichts. Aus diesem Grund schlägt er vor, lose verwandte Komponenten auf mehrere Repositorys aufzuteilen, und erwähnt die laufenden Bemühungen, eine Benutzeroberfläche für die Verwaltung eines Repositorys zu implementieren, das als Superprojekt mit kleineren Repositorys strukturiert ist.
Soweit ich weiß, ist diese grundlegende Designentscheidung auch heute noch gültig. Das Superprojekt-Ding wurde wahrscheinlich zu dem, was jetzt Submodule sind .