Git is een versiebeheertool die elke wijziging in de code van een project vastlegt. Elke opslag, een commit genoemd, legt vast wat er veranderde, wie het veranderde en waarom, en bouwt zo een complete tijdlijn op waar je op elk moment doorheen terug kunt stappen.
Zie het als een ongelimiteerde ongedaan-maken-knop met een geheugen. Een tekstverwerker laat je je laatste paar toetsaanslagen terugdraaien; Git bewaart elke betekenisvolle versie van een project voor altijd. Introduceerde een wijziging vorige dinsdag een bug, dan zie je precies wat er anders was en sta je binnen seconden weer op de werkende versie. Niets gaat ooit echt verloren. Nog mooier: elke commit draagt een kort berichtje dat uitlegt waarom de wijziging is gemaakt, zodat de historie bijna als een dagboek van het project leest.
Dat dagboek is ook hoe een team chaos voorkomt. Als twee mensen hetzelfde bestand aanpassen, kan Git hun werk meestal vanzelf samenvlechten, en lukt dat niet, dan wijst het precies de regels aan die botsen en laat het een mens beslissen. Zo kunnen meerdere developers snel aan dezelfde code werken zonder elkaar stilletjes te overschrijven.
Git laat ook veel mensen aan dezelfde code werken zonder elkaar in de weg te zitten. Elke developer maakt een branch, een eigen kopie waarin hij een functie bouwt, en voegt die daarna via een merge weer samen zodra hij klaar is. Al die geschiedenis staat in een repository, die op de machine van een developer kan staan en met het team gedeeld wordt. En doordat elke kopie de volledige historie bevat, zit het project nooit op één plek vast.
Bij TopDevs beheren we alle klantcode in Git, zodat elke wijziging bijgehouden, omkeerbaar en veilig gedeeld wordt binnen het team in plaats van op één laptop te leven.