RSS Julia Evans

Pensons-nous aux commits Git comme des différences, des instantanés et/ou des historiques?

Follow
Comprendre les commits Git est complexe, et les gens ont des modèles mentaux variés. Un sondage a révélé que 51% pensent aux commits comme des diffs (changements entre les versions), 42% comme des snapshots (état actuel des fichiers) et seulement 4% comme une histoire des commits précédents. Intérieurement, Git stocke les commits comme des snapshots, ce qui facilite les temps de checkout plus rapides. Cependant, il emploie également des packfiles pour compresser les données, stockant les fichiers comme des deltas (différences) pour économiser de l'espace. Malgré cette mise en œuvre basée sur les snapshots, les diffs Git sont calculés en reconstruisant les snapshots à partir des deltas et en les comparant. Un modèle mental "erroné" courant est de considérer les commits comme des diffs par rapport au commit précédent, ce qui, bien qu'inexact, peut encore être utile dans l'utilisation quotidienne. Le modèle mental le plus courant, qui considère les commits comme des diffs, s'aligne avec le focus typique sur les changements de code. D'autres modèles, tels que les snapshots, sont utiles pour comprendre les déplacements de fichiers et les commits de fusion. En outre, les gens peuvent associer les commits à des informations supplémentaires (par exemple, des e-mails, des conversations) ou les voir comme des états "avant" et "après".
favicon
jvns.ca
Do we think of git commits as diffs, snapshots, and/or histories?
Create attached notes ...