Het implementeren van versiebeheer zou een eenvoudige onderneming zijn als je alleen zou werken met een lokale repo. Dit is echter niet het geval bij veel professionele projecten. In plaats daarvan zal een team zijn resources bundelen in een remote repo met behulp van een host zoals GitHub. Daarom is het belangrijk om te leren hoe je naar GitHub pusht, omdat het iets is dat je zult moeten doen als onderdeel van je werkproces.
Dit artikel laat je zien hoe je naar GitHub pusht met behulp van de command-line. Ook kijken we naar speciale apps om het proces soepeler te laten verlopen. Aan het einde van het artikel bespreken we waarom je pull requests zou moeten leren en hoe ze samenhangen met het pushen van code. Laten we eerst eens kijken hoe je GitHub gebruikt voor je projecten.
Hoe een developer of programmeur GitHub gebruikt
GitHub is om een aantal redenen een essentieel hulpmiddel voor developers en programmeurs van over de hele wereld. Je kunt er je code op een centrale locatie opslaan, waardoor het eenvoudig toegankelijk is en je beter kunt samenwerken met andere developers.
Je kunt ook wijzigingen in je code bijhouden en teruggaan naar vorige versies als dat nodig is. Daarnaast biedt GitHub tools om problemen en bugs te beheren, waardoor het eenvoudiger wordt om je codebase te onderhouden.
Samenwerking is een van de belangrijkste redenen om GitHub te gebruiken als je versiebeheersysteem (VCS) voor teams op afstand. Hiermee kun je code delen, wijzigingen bijhouden en samenwerken aan problemen zonder veel gedoe. Dit kan de efficiëntie ten goede komen en ook leiden tot een betere kwaliteit van de code.
GitHub geeft je ook een pijnloze manier om meerdere versies van een codebase te beheren, wijzigingen bij te houden en ze terug te draaien als dat nodig is. Grote projecten en open-source samenwerkingsverbanden zijn slechts twee manieren waarop GitHub zijn waarde kan laten zien.
Zelfs voor eenvoudige gebruikssituaties kan GitHub ideaal zijn. Je kunt bijvoorbeeld code opslaan voor je webontwikkelingsproject en op afstand updates pushen als je wijzigingen aanbrengt. Ook continue integratie/continue deployment (CI/CD) projecten zullen profiteren van automatisering in de vorm van GitHub Actions tijdens bouwfasen.
Over het geheel genomen biedt GitHub – en andere remote VCS hosts zoals GitLab – een platform voor samenwerking, versiebeheer en andere ontwikkelworkflows. Het kan helpen om het ontwikkelproces te stroomlijnen en de kwaliteit van de code te verbeteren. Als zodanig zul je willen leren hoe je naar GitHub pusht, omdat deze kennis je bijna elke dag ten goede zal komen.
Zo push je naar GitHub vanaf de Terminal (command-line)
De rest van dit artikel zal je laten zien hoe je naar GitHub pusht. Het is een proces dat eenvoudig te begrijpen en uit te voeren is.
Je moet er echter wel voor zorgen dat je je project van tevoren instelt, anders zul je fouten tegenkomen. In ons eerste gedeelte kijken we naar welke tools en vaardigheden je nodig hebt, om vervolgens het proces zelf in detail te bekijken.
Wat je nodig hebt om naar GitHub te pushen
Het is belangrijk om ervoor te zorgen dat je je project zo instelt dat het het gebruik van een remote repo ondersteunt en het pushen in je workflow integreert. Als zodanig heb je allereerst een Git repository nodig – een ‘repo’ om je code in op te slaan. Beschouw dit als een map die de bestanden bevat die bij je project horen.
Het hele versiebeheerproces begint in een lokale omgeving op je computer. De exacte stappen om dit te doen volgen later, maar misschien heb je deze kennis al (of weet je waar je erbij kunt)
Je hebt ook een GitHub account nodig. Je kunt ook ook een andere online VCS host gebruiken, zoals GitLab, BitBucket, Buddy en meer. De instructies die we je hier geven zullen voor het grootste deel ook op andere platforms werken. Het vergelijken van deze hosts valt echter buiten het bereik van dit artikel.
Om je code naar GitHub te pushen, kun je de command-line (opdrachtregel) of een grafische gebruikersinterface (GUI) gebruiken. Het grootste deel van ons artikel zal gaan over de command-line workflow, maar er is ook een sectie over het gebruik van een GUI, omdat sommige onverminderd populair zijn. Merk echter op dat elke GUI zijn eigen proces kan hebben om naar GitHub te pushen, wat betekent dat wellicht jouw stappen er wat anders uitzien als je een andere GUI hebt.
Zorg er tot slot voor dat je de juiste toegang tot je repo hebt. De documentatie van GitHub is uitgebreid, en je zou moeten kijken naar HTTPS toegangstokens of Secure Shell (SSH) toegang. Zonder dit kun je niet aan de slag!
1. Maak een GitHub repository aan
De eerste stap is het maken van een nieuwe online repo binnen GitHub. Hoewel je dit vanaf de opdrachtregel kunt doen, is het net zo eenvoudig om het met een webbrowser te doen.
Zodra je inlogt of je aanmeldt bij GitHub, ga dan naar de rechterbovenhoek van het scherm en zoek naar een Plus uitklapmenu naast je profiel avatar. Als je dit opent, laat het je een paar opties zien, waaronder New repository:
Als je hierop klikt, kom je op de pagina Create a new repository. Dit laat je een aantal instellingen zien om je remote repo in te stellen:
De opties die je hier instelt zullen uniek zijn voor de behoeften van jouw project. Maar als je al een lokale repo hebt om naar GitHub te pushen, zouden we zo weinig mogelijk aanvinken om te zorgen dat lokaal en remote zoveel mogelijk in sync zijn.
Vanaf hier klik je op de Create repository knop, en GitHub zal de dingen onder de motorkap instellen. Nu kom je op de repo startpagina met instructies over hoe je een nieuwe lokale repo instelt die linkt naar de remote repo met behulp van de opdrachtregel. Het pad dat je volgt hangt af van of je nog geen repo hebt of de inhoud van een bestaand project wilt klonen.
Als je Git al geïnitialiseerd hebt en je lokale repo al gevuld, dan hoef je niets uit te voeren vanaf stap twee. In plaats daarvan kun je meteen door naar de derde stap, waar we kijken naar het pushen van code naar GitHub vanuit je lokale repo.
2a. Kloon je remote Git repo
Als je nog geen lokale repo hebt, zal de GitHub versie de enige zijn. De beste manier om beide locaties te synchroniseren is door het git clone commando op je computer te gebruiken. Je hebt echter wel de URL voor je repo nodig.
Om deze te krijgen, ga je naar de repo binnen GitHub, en zoek je naar de groene Code uitklapoptie boven je lijst met bestanden:
Als je hem niet ziet, komt dat waarschijnlijk omdat je nog geen gevulde repo hebt. Let op dat je de URL van de repo kunt kopiëren uit het blauwe Quick Setup vak bovenaan het scherm. Schakel simpelweg over naar HTTPS met de knoppen en kopieer de URL.
We geven echter de voorkeur aan het genereren van een .gitignore bestand, omdat je dit sowieso nodig hebt. Je kunt gitignore.io gebruiken om te zoeken naar de tools die je gebruikt en van daaruit een compleet .gitignore bestand genereren om te uploaden naar de repo:
Hoe dan ook, zodra je het Code uitklapmenu kunt openen, zal het URL’s voor je repo tonen. Er zullen opties zijn voor HTTPS, Secure Shell (SSH,) en andere. De meest voor de hand liggende aanpak is echter om de HTTPS URL te gebruiken. Je kunt op het kleine pictogram Copy naast de URL in kwestie klikken om deze naar je klembord te kopiëren.
Ga vervolgens terug naar je Terminal of opdrachtregel en voer het volgende uit:
git clone <full-github-url>
Zodra je het commando uitvoert, zal Git de remote repo naar je lokale omgeving kopiëren.
2b. Initialiseer Git in je lokale projectmap
Voor situaties waarin je nog geen lokale versie van je remote repo hebt, moet je er een initialiseren. Het meeste werk dat je doet zal lokaal zijn, met het op gezette tijden pushen van de wijzigingen naar de remote server. Dit zijn de stappen:
- Allereerst:
cd
naar een map die je wilt gebruiken voor je project. - Vervolgens voer je het
git init
commando uit. Dit zal Git initialiseren in je lokale projectmap en een verborgen .git map aanmaken. - Voeg je .gitignore bestand toe aan de root van de lokale map van je project, omdat je sommige wijzigingen met betrekking tot systeembestanden niet wilt stagen.
Op dit punt moet je je huidige bestanden indexeren. Je doet dit op de gebruikelijke manier met git add
, waarna je de wijzigingen commit:
git add .
git commit -m “Initial Commit”
git branch -M trunk
De laatste regel verandert je main branch in iets anders naar keuze als je nog niet van master bent overgeschakeld. Deze laatste benaming wordt tegenwoordig als problematisch geschouwd omdat het negatieve connotaties heeft met slavernij, dus het is aan te raden om het te veranderen. We hebben hier trunk gebruikt, maar main is ook acceptabel. Als je weet dat je deze regel niet nodig hebt, kun je hem weglaten.
Nu ben je klaar om te leren hoe je naar GitHub pusht!
3. Voeg een nieuwe remote origin toe en push je code naar GitHub
Als je een nieuw remote repository op GitHub hebt gemaakt, moet je een nieuwe ‘remote origin’ toevoegen aan je lokale repository. Dit is in wezen de link naar je remote repo, zodat je lokale repo weet waar je de upstream wijzigingen naartoe moet sturen.
Om dit te doen, voer je het volgende commando in je terminal in:
git remote add origin <github-url>
In technische zin kan de remote die je toevoegt elke naam zijn. De meesten noemen het echter “origin”, omdat je maar één remote add gebruikt en het absolute duidelijkheid biedt. Op dit punt kun je naar GitHub pushen met het volgende:
git push -u origin trunk
Dit commando zal je code naar de nieuwe remote origin pushen – met de naam “origin” – en de upstream branch op “trunk” zetten Je kunt ook iedere willekeurige branch naar de remote repo pushen als dat nodig is.
Zodra het proces is voltooid, moet je controleren of de push een succes was. Er zijn een paar manieren om dit te doen. Je kunt bijvoorbeeld naar de repo op GitHub gaan en kijken of de wijzigingen live zijn:
Je kunt echter ook git log
vanaf de commandoregel uitvoeren:
Dit commando toont elke commit voor je repo, inclusief degene die je zojuist gepushed hebt. Als de commit in de log staat, was de push een succes.
Hoe naar GitHub pushen zonder fouten
In sommige gevallen kun je een foutmelding tegenkomen als je code naar GitHub probeert te pushen:
Dit gebeurt als je al een beveiligde verbinding met GitHub hebt via een oud project, maar een oude RSA sleutel gebruikt. We hebben een handleiding over hoe je dit probleem in het algemeen kunt oplossen. Maar om dit speciek op te lossen voor GitHub, kun je het volgende uitvoeren:
ssh-keygen -R github.com
Dit zal je ‘bekende hosts’ bestand bijwerken en dan een bevestigingsbericht weergeven:
Voer vanaf hier het volgende uit om de nieuwe RSA sleutel toe te voegen aan je bestand met bekende hosts:
curl -L https://api.github.com/meta | jq -r '.ssh_keys | .[]' | sed -e 's/^/github.com /' >> ~/.ssh/known_hosts
Het kan zijn dat je hier ook een fout ziet die te maken heeft met het jq pakket. Als dit het geval is, kun je een van de volgende opties uitvoeren, afhankelijk van je besturingssysteem:
- Windows:
curl -L -o /usr/bin/jq.exe https://github.com/stedolan/jq/releases/latest/download/jq-win64.exe
- Mac:
brew install jq
- Linux:
apt-get update | apt-get -y install jq
Zodra dit is geïnstalleerd, voer je het commando opnieuw uit en wacht je tot het is voltooid:
Je kunt nu eindelijk het commando git push
opnieuw uitvoeren en deze keer zou je moeten zien dat het proces voltooid is. Zo niet, dan is het probleem waarschijnlijk te wijten aan onjuiste SSH sleutels of zelfs dat je beveiligde verbindingen moet opzetten met behulp van speciale sleutels. We hebben een volledige handleiding over hoe je nieuwe SSH sleutels voor GitHub aanmaakt, en ook in GitHub’s documentatie vind je uitgebreide informatie.
Een GUI gebruiken om je code naar GitHub te pushen
Hoewel het proces van het pushen van code naar GitHub eenvoudig is als je het eenmaal hebt ingesteld, zijn er genoeg stappen, vereisten en subprocessen om rekening mee te houden. Een GUI kan het proces vereenvoudigen.
Je profiteert op die manier van alle functionaliteiten van de command-line, maar met een mooiere interface (met drag-and-drop in sommige gevallen.) Bovendien is het vaak makkelijker om wijzigingen te visualiseren en te beheren via een GUI, vooral als je niet bekend bent met command-line tools.
Als je weet dat je nooit je GUI app hoeft te gebruiken om een andere remote VCS host te benaderen, dan zou GitHub Desktop perfect kunnen zijn.
Met de app kun je repositories aanmaken en beheren, wijzigingen committen en die wijzigingen naar GitHub pushen met slechts een paar klikken. Het werkt met drag-and-drop functionaliteit en heeft ook een ‘visual diff’ tool die het identificeren van codewijzigingen tussen versies vereenvoudigt:
Sourcetree is een andere populaire Git GUI die we ook bespreken in onze lijst met tools voor webdevelopment. Hoewel de VCS van onze voorkeur BitBucket is (omdat het een Atlassian product is), kun je de tool nog steeds gebruiken met GitHub. De “merge conflict resolution” tool is daarnaast erg handig en is een van de opvallendste features.
GitKraken is de best uitziende GUI app die je kan vinden en biedt een prima gratis versie voor lokale en publieke repos. Deze tool ondersteunt alle grote VCS hosts – GitHub natuurlijk, maar ook GitLab en BitBucket, onder andere. We zijn fan van de visuele weergave van repo’s en de oplossing biedt daarnaast doordachte functionaliteiten voor teams.
GitHub Desktop gebruiken om naar GitHub te pushen
Hoewel het proces voor elke app iets anders zal zijn, is GitHub Desktop erg gelikt. Je werkt binnen een enkel scherm dat verschillende vensters en panelen gebruikt. Zodra je een wijziging aanbrengt in een bestand (dat je kunt openen in een editor naar keuze met een rechtsklik contextmenu), commit je met behulp van een kleine widget op het scherm:
Deze commit wordt onderdeel van de Push Origin sectie in de bovenste werkbalk: Als je geen wijzigingen hebt om te committen, zal er ook een melding zijn om je commits naar de origin remote te pushen:
Dit is een one-click oplossing om wijzigingen naar je GitHub repo te pushen. De hele workflow is snel, pijnloos en eenvoudig uit te voeren.
Kinsta’s Applicatie Hosting en GitHub gebruiken
Als je een klant van Kinsta bent, kun je al je applicaties bij ons onderbrengen. Met onze Applicatie Hosting en Database Hosting kun je bijna elke app deployen in een aantal talen, zoals PHP, Node, Python en meer. Je maakt verbinding met GitHub zonder dat je een heleboel Git commando’s hoeft te gebruiken.
Om te beginnen log je in op je Kinsta dashboard en navigeer je naar het scherm Applicaties. Het ziet er kaal uit als je het voor het eerst opent:
Als je echter op de knop Dienst toevoegen klikt, krijg je de optie om een app of een database te implementeren. Voor dit voorbeeld kiezen we Applicatie:
Kinsta zal je dan vragen om verbinding te maken met GitHub om repo’s van het platform te importeren:
De wizard die daarna komt helpt je bij het instellen van je applicatie. Je moet eerst een repo van GitHub kiezen en dan de main branch selecteren:
Je moet je applicatie ook een naam geven binnen MyKinsta en een datacenter selecteren. Zodra je op Doorgaan klikt, moet je de instellingen voor de omgeving van de build aanpassen:
Hier heb je een paar opties:
- Kies een build machine uit de lijst.
- Stel een container image in, via automatisering of vanaf een specifiek pad van jezelf.
Hierna moet je je resources en processen instellen. Onze Quickstart voorbeelden bevatten de relevante webprocessen die je nodig hebt, maar je kunt ook je eigen processen. Let op dat je zoveel processen kunt hebben als je budget toelaat:
Zodra je de maandelijkse gebruikskosten hebt bekeken, kun je de betaling uitvoeren. Als het goed is kun je nu Applicatie Hosting met de GitHub integratie gebruiken. Er valt nog veel meer te ontdekken over onze Applicatie Hosting en Database Hosting, en onze documentatie is uitgebreid en diepgaand.
Samenvatting
GitHub is een essentieel hulpmiddel voor developers en programmeurs. Het biedt een gecentraliseerde opslagplaats om code op te slaan, bij te houden en samen te werken. Als je eenmaal leert hoe je je code vanuit een lokale repo naar GitHub kunt pushen, kun je meedoen met die samenwerking.
Met de opdrachtregel is het eenvoudig om je code naar GitHub te pushen en je hebt maar een handvol commando’s nodig als je alles hebt ingesteld. Je kunt echter een speciale GUI app overwegen, zoals GitKraken of GitHub Desktop. Hierdoor hoef je geen command-line te gebruiken en kan je bijna elke taak van Git laten uitvoeren vanuit een vertrouwde interface.
Bovendien is GitHub uitstekend in combinatie met Kinsta’s hoogwaardige Applicatie Hosting en Database Hosting. Hiermee kun je je GitHub repo aansluiten op ons netwerk van 25 datacenters en een veelheid aan verschillende frameworks ondersteunen. De op verbruik gebaseerde prijzen zijn daarnaast concurrerend en liggen binnen het bereik van de meeste gebruikers!
Heb je vragen over het pushen naar GitHub? Stel ze gerust in de comments hieronder!
Laat een reactie achter