What is in that .git directory?

Artikeln utforskar den interna strukturen av en .git-katalog och förklarar hur Git lagrar data genom att analysera dess innehåll efter olika Git-kommandon. Den beskriver de initiala filerna och mapparna som skapas med git init, inklusive config, head, hooks, objects och refs, och deras respektive funktioner. När en fil läggs till med git add, uppdateras index-filen och ett nytt 'blob'-objekt skapas i objects-katalogen, vars namn baseras på SHA1-hashen av filens innehåll. Vid en git commit skapas nya 'commit'- och 'tree'-objekt, refs/heads/master uppdateras för att peka på den nya committen, och loggar samt commit-meddelanden lagras. git använder olika objektstyper (blob, tree, commit) och referenser för att effektivt spåra filinnehåll, katalogstrukturer och commit-historik, vilket kan inspekteras med 'plumbing'-kommandon som git cat-file.