Bereken je offerte
Gids · Websites · comment-woord PUSH

Laptop back up maken van je code: stappenplan voor GitHub

Een commit staat enkel op je laptop. Met dit stappenplan zet je je project op GitHub en bouw je een routine waarmee je altijd kunt terugvallen op een werkende versie.

De carrousel
01 / 07
4 fouten die je werk kosten
Fout: Wel committen, niet pushen. Oplossing: Push op het einde van elke werkdag.
Fout: Eén commit per week. Oplossing: Commit na elke afgewerkte taak, klein en vaak.
Fout: Commit-bericht: 'fix'. Oplossing: Schrijf in één zin wat je veranderde en waarom.
Fout: Pushen zonder controle. Oplossing: Werk op een aparte branch, controleer, voeg dan samen.
Comment PUSH: Comment PUSH en ik stuur je een stappenplan om je project op GitHub te zetten.
Stappenplan

Je project op GitHub in 12 stappen

Doe de stappen 1 tot 9 één keer per project. Stappen 10 tot 12 herhaal je bij elke wijziging. Vervang tekst tussen < > door je eigen gegevens.

  1. 1
    Maak een GitHub-account en zet tweestapsverificatie aanBewaar de herstelcodes buiten je laptop, bijvoorbeeld in je wachtwoordmanager. Anders sta je met een nieuwe laptop toch buiten.
  2. 2
    Installeer Git en stel je naam en e-mail inControleer met git --version of het werkt. Stel daarna in: git config --global user.name "<je naam>" en git config --global user.email "<je e-mail>".
  3. 3
    Maak op GitHub een nieuwe, lege repository en kies PrivateVink geen README, .gitignore of licentie aan. Je project bestaat al lokaal, een lege repo voorkomt conflicten bij je eerste push.
  4. 4
    Maak in je projectmap een .gitignore aanZet er minstens .env, node_modules en je database- of uploadmappen in. Wachtwoorden en API-sleutels horen nooit op GitHub.
  5. 5
    Initialiseer Git: git init en dan git branch -M mainVoer dit uit in de map van je project. De tweede opdracht zorgt dat je hoofdtak main heet, zoals GitHub verwacht.
  6. 6
    Controleer wat er mee gaat: git add . en dan git statusLees de lijst. Staat er een .env, een map met klantgegevens of een bestand van meer dan 100 MB tussen, stop dan en vul eerst je .gitignore aan.
  7. 7
    Maak je eerste commit: git commit -m "<wat dit project is en in welke staat>"Bijvoorbeeld: "Eerste versie van de website, werkt lokaal met contactformulier". Zo weet je later vanaf welk punt je terugkijkt.
  8. 8
    Koppel je repo: git remote add origin <url van je repo> en dan git remote -vKopieer de url van je lege repository op GitHub. Met git remote -v controleer je of de koppeling klopt.
  9. 9
    Push voor het eerst: git push -u origin mainVernieuw daarna de GitHub-pagina. Zie je je bestanden en je commit, dan staat er een kopie buiten je laptop. Gebruik geen -f (force) bij deze eerste push.
  10. 10
    Werk voortaan op een aparte branch: git switch -c <korte-naam-van-de-taak>Maak voor elke taak een nieuwe branch, zoals offerteformulier of btw-fix. Je hoofdtak blijft dan altijd een werkende versie.
  11. 11
    Commit na elke afgewerkte taak met een zin die zegt wat en waaromGebruik git add . en dan git commit -m "<wat je veranderde en waarom>". Push op het einde van de werkdag met git push. Bij je eerste push van een nieuwe branch vraagt Git om git push -u origin <branchnaam>.
  12. 12
    Controleer en voeg samen via een pull request op GitHubLees in de pull request zelf je wijzigingen na en test de site. Klopt alles, kies dan Merge. Pas dan komt de wijziging op main en eventueel live.

Een laptop back up maken van je code doe je in twee stappen: committen en pushen. Een commit bewaart een versie van je werk, maar enkel op je eigen toestel. Pas na een push staat die versie veilig op GitHub. Hieronder leg ik uit waarom dat verschil telt, hoe je werkt zodat je altijd kunt terugvallen, en waar het meestal misgaat.

Is een commit hetzelfde als een back-up?

Nee. Git bewaart je geschiedenis in een verborgen map in je projectmap, op dezelfde schijf als de rest van je werk. Gaat je laptop kapot of wordt hij gestolen, dan verdwijnen je bestanden én je volledige geschiedenis.

Een push maakt een kopie op een andere plek. Dat is wat een back-up is: dezelfde gegevens op minstens twee plaatsen.

Het kost je niets om dat te doen. GitHub Free bevat onbeperkt publieke en private repositories. Kies bij een bedrijfsproject altijd Private, tenzij je bewust open source wilt gaan.

Wat bewaart GitHub wel en niet?

GitHub bewaart alles wat Git volgt. Dat is je code, je configuratiebestanden en je geschiedenis. Wat je in je .gitignore zet, gaat niet mee. Dat is ook de bedoeling voor wachtwoorden en API-sleutels, maar het betekent dat je die ergens anders moet bewaren, bijvoorbeeld in een wachtwoordmanager.

Er zijn ook grenzen aan wat je kunt pushen:

  • GitHub blokkeert bestanden groter dan 100 MiB. Video's, grote databases en zware exports horen er dus niet in.
  • GitHub raadt aan om repositories klein te houden, liefst onder 1 GB.

GitHub is een back-up van je code, niet van je hele laptop. Je foto's, boekhouding en offertes bewaar je op een externe schijf of in een cloudopslag.

Hoe vaak moet je committen en pushen?

Commit na elke afgewerkte taak. Push op het einde van elke werkdag, of vaker als je dat liever hebt. Dat is alles.

Stel dat je een contactformulier toevoegt aan een website. Dan zijn dat drie commits: het formulier zelf, de validatie en de bevestigingsmail. Gaat de bevestigingsmail later stuk, dan draai je enkel die commit terug.

Eén grote commit per week werkt niet zo. Je weet niet meer wat wanneer stuk ging, en terugdraaien betekent alles of niets.

Hoe schrijf je een commit-bericht dat je later nog begrijpt?

Schrijf één zin die zegt wat je veranderde en waarom. Over drie maanden weet niemand meer wat "fix" betekent, ook jijzelf niet.

Vergelijk deze twee:

  • Slecht: "fix"
  • Goed: "Corrigeer btw-berekening in offerte: bedrag werd twee keer afgerond"

Met het tweede bericht vind je de oorzaak van een fout in minuten. Met het eerste zoek je uren. Je schrijft het bericht voor jezelf over een half jaar.

Waarom werk je op een aparte branch?

Op de hoofdtak (main) staat je werkende versie. Sommige hostingdiensten rollen je site automatisch uit zodra er iets op die tak verschijnt. Pushen zonder controle betekent dan dat een foutje meteen live staat en je klanten het eerst zien.

Maak daarom voor elke taak een aparte branch. Test daar, bekijk je eigen wijzigingen in een pull request op GitHub en voeg pas daarna samen met main. Ook als je alleen werkt, zie je in zo'n pull request precies wat je hebt aangepast. Je merkt zo vaak nog een vergeten testregel of een bestand dat er niet in hoort.

Heb je een website die klanten leads of bestellingen oplevert? Dan is deze werkwijze het goedkoopste verzekeringspakket dat je kunt nemen. Wil je er een laten bouwen die van meet af aan zo is opgezet, bekijk dan hoe ik werk bij een website laten maken.

Welke fouten maak je makkelijk bij het project op GitHub zetten?

Geheimen mee pushen. Een API-sleutel in je repository blijft in je geschiedenis staan, ook als je het bestand later verwijdert. Zet je .env in je .gitignore vóór je eerste commit. Is het toch misgegaan, vervang de sleutel dan.

Een publieke repo aanmaken. Controleer bij het aanmaken of Private aanstaat. Je kunt dit achteraf wel wijzigen, maar dan is je code al een tijd zichtbaar geweest.

Je eerste push forceren. Sommige tutorials geven een push met -f. Daarmee overschrijf je wat op GitHub staat. Bij een lege repo heb je dat niet nodig, dus laat het weg.

Master in plaats van main. Krijg je een foutmelding over een branch die niet bestaat? Dan heet je lokale tak waarschijnlijk anders dan op GitHub. Met git branch -M main zet je dat recht.

Je back-up nooit testen. Een back-up is pas een back-up als je er iets mee kunt herstellen. Maak één keer in een lege map een git clone van je repo en kijk of het project opnieuw draait.

Je login kwijtspelen. Zonder je herstelcodes en met een kapotte laptop kom je soms niet meer op je account. Bewaar die codes dus elders.

Voorbeeld: je laptop valt morgen in het water

Stel dat je een kleine website onderhoudt voor een bakkerij. Je werkt dagelijks, commit per taak en pusht elke avond. Maandagochtend is je laptop onbruikbaar.

Je neemt een andere laptop, installeert Git en clonet de repository. Je zet je sleutels uit je wachtwoordmanager terug in een nieuw .env-bestand en je werkt verder vanaf je laatste push. Je verliest hooguit de uren sinds die push.

Had je enkel gecommit, dan was alles weg geweest. Dat verschil is alles wat dit stappenplan uitmaakt.

Wanneer is dit niet genoeg?

GitHub dekt je code. Draai je een webshop of CRM met een database vol klantgegevens, dan heb je daarnaast aparte database-back-ups nodig, op een ander systeem dan waar de database draait.

Bouw je automatisaties en koppelingen, bijvoorbeeld met AI-automatisering? Dan bewaar je die scripts en configuraties in Git, en hou je je sleutels elders. Zit je vast bij de opzet of wil je dat iemand meekijkt, dan kun je via contact een vrijblijvend gesprek aanvragen.

Veelgestelde vragen

Is GitHub gratis voor een privéproject?

Ja, een gratis GitHub-account laat onbeperkt private repositories toe. Voor een eigen project of een kleine site heb je dus geen betaald plan nodig. Kijk wel op de prijspagina van GitHub na wat er op het moment dat je dit leest bij het gratis plan hoort.

Wat is het verschil tussen een commit en een push?

Een commit bewaart een versie van je werk in de Git-geschiedenis op je eigen toestel. Een push stuurt die commits naar GitHub. Pas na de push heb je een kopie buiten je laptop.

Moet ik elke dag pushen?

Dat is het minimum. Push minstens op het einde van elke werkdag, liever na elke afgewerkte taak. Zo verlies je bij een defecte of gestolen laptop hooguit een paar uur werk.

Is GitHub genoeg als back-up van mijn laptop?

Voor je code wel, maar niet voor de rest. Bestanden die in je .gitignore staan, zoals .env-bestanden, databases en grote uploads, staan niet op GitHub. Foto's, boekhouding en andere documenten bewaar je op een externe schijf of in een cloudopslag.

Wat als ik per ongeluk een wachtwoord of API-sleutel gepusht heb?

Vervang de sleutel meteen door een nieuwe en trek de oude in bij de dienst waarvoor hij dient. Het bestand verwijderen uit je volgende commit volstaat niet, want de sleutel blijft in de geschiedenis staan. Ga ervan uit dat hij gelekt is.

Bronnen

  1. GitHub plans and pricing · GitHub
  2. Private repo storage limit in the free for organisations tier? ...

Meer weten over websites? Bekijk wat we daarin voor je doen of lees artikels over websites.

Meer gidsen

Alle gidsen bekijken

Liever dat we het samen bouwen?

Vertel kort wat je wil maken. Je krijgt binnen 24 uur een eerlijk antwoord over aanpak, tijd en kost.

Nieuw Stel je vraag gewoon met je stem. Je hoort meteen antwoord.