0%

Waar versiebeheer voor dient

Wat Git niet is

Vier ideeën over Git ontstaan al snel en zorgen vervolgens maandenlang voor verwarring. Je kunt ze beter nu ophelderen dan later afleren.

Git is niet GitHub

Het zijn verschillende dingen. Dat de namen op elkaar lijken helpt niet.

Git is een programma dat op je computer draait en de geschiedenis van een project beheert. Het werkte al voordat je ergens verbinding mee maakte en blijft werken als je netwerk uitstaat.

GitHub is een website die kopieën van Git-projecten bewaart zodat mensen ze kunnen delen. Dat geldt ook voor GitLab, Bitbucket, Codeberg en andere diensten. Ze zijn nuttig, populair en optioneel.

Je kunt Git jarenlang alleen op je eigen computer gebruiken zonder ergens een account aan te maken. Veel mensen doen dat. Als iemand zegt “zet het op Git”, bedoelt die meestal “zet het op GitHub”. Die twee ideeën zijn in het dagelijks taalgebruik al zo lang door elkaar gehaald dat beginners begrijpelijkerwijs denken dat het hetzelfde is.

Houd ze in je hoofd uit elkaar. Dat scheelt veel verwarring wanneer we werk gaan delen, want dan moet je weten welk deel wat doet.

Die scheiding vormt ook de grens van deze cursus. Je oefent het delen met repositories op dezelfde computer en koppelt daar later de gebruikelijke termen van hostingdiensten aan. Je hebt geen account bij een dienst of netwerkverbinding nodig. Je leert eerst Git, voordat de inrichting van een bepaalde aanbieder erbij komt.

Git is geen back-up

Een geschiedenis staat in je projectmap. Als je laptop wordt gestolen, verdwijnen je commits mee.

Dat verbaast mensen, want “bewaart elke versie van alles” klinkt als een back-up. Dat is het niet en dat probeert het ook niet te zijn. Git beschermt je tegen je eigen bewerkingen. Niet tegen een kapotte schijf of een verloren tas.

Je project naar een hostingdienst kopiëren geeft je wel een kopie buiten je computer. Dat is een reden om het te doen. Maar je stelt dat bewust in; het ontstaat niet alleen doordat Git er is.

Blijf back-ups van je computer maken zoals je dat al deed.

Git slaat je werk niet automatisch op

Git legt vast wat je opdraagt, op het moment dat je het opdraagt.

Een bestand bewerken verandert het bestand. Het maakt geen commit. Sluit de editor en open hem een week later: Git toont je werk nog steeds als niet-gecommit, precies zoals je het achterliet. Niets is vastgelegd en niets is verloren.

Dat zorgt op twee manieren voor verwarring. Sommigen denken dat ze beschermd zijn terwijl dat niet zo is. Anderen denken dat Git hen ongemerkt in de gaten houdt en voelen zich bekeken. Geen van beide klopt. Git wacht op je opdracht.

Git is niet alleen voor programmeurs en niet alleen voor code

Git kan elk gewoon bestand als bytes bewaren. De vergelijkingen zijn het nuttigst bij tekst. Daarom zijn programmeurs het gaan gebruiken, maar veel ander werk bestaat ook uit tekst.

Mensen bewaren boeken, onderzoeksnotities, juridische documenten, configuratiebestanden en websites in Git. Als je werk uit tekstbestanden bestaat en je wilt weten hoe het er vorige maand uitzag, kun je Git gebruiken.

Bij afbeeldingen, video en grote binaire bestanden is Git minder sterk. Het bewaart ze wel, maar kan geen bruikbaar verschil tussen twee versies van een foto tonen. Daardoor verdwijnt veel van de waarde. Dat is een echte beperking, geen klein ongemak.

Je internetverbinding ligt eruit. Wat kun je nog steeds doen?

Waarom klopt het niet om Git een back-upsysteem te noemen?

Nu dat duidelijk is, blijft er nog één ding over voordat je Git zelf gebruikt: weten waar je het gaat uitvoeren en waarom deze cursus daar twee plekken voor gebruikt.