ID.nl logo
GitHub-branches maken: zo werkt de staging area
© Reshift Digital
Huis

GitHub-branches maken: zo werkt de staging area

Bij het werken met Git moet je vooral wennen aan de zogeheten staging area, een soort tijdelijke opslag. Het is een krachtig hulpmiddel, maar ook lastig te doorgronden als je net begint. In deze workshop geven we tips hoe je dit optimaal benut. Wil je GitHub-branches maken, dan geven wij hier ook wat tips voor.

Bij Git zet je wijzigingen eerst in een zogeheten staging area, een soort tijdelijke opslag, voordat je met een zogenoemde commit de wijzigingen naar je repository overzet. Je kunt hier gemakkelijk in verdwalen. In deze workshop geven we belangrijke tips om het werken op de verschillende niveaus van Git wat comfortabeler te maken!

Overzicht niveaus

Bij het werken met Git is het handig om de onderstaande afbeelding met het overzicht als een soort cheatsheet te gebruiken. Het geeft de verschillende niveaus weer, te weten: je werkdirectory met je programmabestanden, de staging area van Git met tussentijdse wijzigingen, je lokale repository op het systeem en eventueel nog een remote repository zoals GitHub. Je ziet ook de belangrijkste opdrachten die je tussen die niveaus kunt geven. Zo zie je git add waarmee je een bepaald bestand naar de staging area kunt zetten. Met de vlag -u in git add -u hoef je geen bestandsnaam op te geven, maar worden in één handeling de wijzigingen in gevolgde bestanden naar de staging area gezet. En je ziet de opdracht git commit waarmee je wijzigingen doorzet van de staging area naar de lokale repository, waarna de staging area weer leeg is en je aan de volgende veranderingen kunt gaan werken.

©PXimport

Werken zonder staging area

Eventueel kun je zonder staging area werken als je die niet nodig denkt te hebben. Het werkt dan meer in lijn met Subversion (svn), een bekend alternatief voor Git. Je kunt namelijk, zoals je ook in het overzicht ziet, met één opdracht de beide opdrachten git add en git commit combineren in één opdracht waarmee je dus de staging area overslaat:

git commit -a

Je kunt hierbij ook een beschrijving toevoegen met:

git commit -am "Beschrijving van de aanpassing"

Het lukt overigens alleen voor bestanden die je al volgt, dus waar je eerder de opdracht git add hebt gegeven. Een enkele keer is dit handig, maar meestal zul je de staging area willen gebruiken.

©PXimport

Veranderingen bekijken

Tijdens het werken met Git komt de opdracht git status van pas, waarmee je kunt zien welke bestanden zijn veranderd in je werkdirectory ten opzichte van de staging area. Wil je precies zien welke veranderingen dat zijn, dan gebruik je git diff, eventueel gevolgd door de bestandsnaam. Een rode regel met minteken ervoor geeft aan dat die regel is verwijderd. Daaronder zie je dan in het groen de nieuwe regel met een plusteken ervoor. Wil je zien welke veranderingen je in de staging area hebt klaargezet, dan geef je de opdracht (eventueel gevolgd door een bestandsnaam):

git diff --staged

Wijzigingen ongedaan maken

Stel dat je een wijziging hebt gedaan aan bepaalde programmacode in de werkdirectory, maar je bent hier niet tevreden mee? Als voorbeeld hebben we enkele regels toegevoegd die de huidige datum en tijd op het scherm te tonen. Je ziet welke veranderingen er zijn ten opzichte van de versie in de staging area met de opdracht:

git diff demo.go

Deze opdracht laat in de output weer de toegevoegde regels in het groen zien en de verwijderde regels in het rood. Zoals je ook in het overzicht hierboven kunt zien, kun je de versie uit de staging area terugzetten met:

git checkout demo.go

De veranderingen zijn nu ongedaan gemaakt. Je kunt ook eerdere commits terugzetten (zie volgende twee paragrafen).

Eerdere commits

Om terug te gaan naar een van de eerdere commits, is het handig eerst een lijst met eerdere commits op te vragen. Daarna kun je eventueel vergelijkingen maken. Als voorbeeld hebben we de datum/tijdmelding weer toegevoegd aan de programmacode, eerst in het rfc850-formaat en daarna in het rfc3339-formaat. Beide veranderingen hebben we gecommit. Met git log kun je een lijst met alle historische commits opvragen. Dit kan eventueel in één regel per commit met:

git log --oneline

Je ziet hierbij dat een zogenoemde hash aan elke commit is toegekend als referentie en het eerste unieke gedeelte van die hash gaan we gebruiken. De laatste commit is altijd bekend onder de naam HEAD. Je kunt vergelijkingen maken tussen commits. Benoem dan de twee commits die je wil vergelijken door ofwel HEAD of de hash in te vullen, bijvoorbeeld:

git diff HEAD b9eebfe

©PXimport

Commit terugzetten

Om een commit terug te zetten, heb je meerdere opties. Zo kun je een reset-opdracht geven waar je dan (een deel van) de hash achter zet, bijvoorbeeld:

git reset --hard b9eebfe

Na deze opdracht bestaan de latere commits in feite niet meer, alsof ze nooit hebben plaatsgevonden. Ook ben je alle niet-toegevoegde veranderingen in je werkdirectory kwijt! Je kunt als veiliger alternatief een checkout-opdracht gebruiken met daarachter ofwel HEAD voor de laatste commit ofwel de hash voor een specifieke commit, bijvoorbeeld:

git checkout HEAD

Hierbij worden de bestanden in je werkdirectory aangepast naar de bewuste commit. Om eventueel weer terug naar de eerdere hoofdtak gebruik je:

git checkout master

Vertakkingen

De checkout die we hierboven noemden, kom je vooral tegen bij het werken met vertakkingen ofwel branches. Stel dat je de commit met hash b9eebfe de naam rfc850-branch wil geven, dan geef je de opdracht:

git checkout -b rfc850-branch b9eebfe

Hiermee wordt dankzij de optie -b automatisch de nieuwe branch rfc850-branch aangemaakt en wordt vervolgens de werkdirectory aangepast naar de bewuste commit met de hash b9eebfe. Je werkt dan in deze vertakking, waar je uiteraard ook weer commits kunt gaan maken. Zoals eerder gezegd, kun je eventueel weer terug naar de master, in feite de hoofdtak, met:

git checkout master

Om in het vervolg direct naar de vertakking rfc850-branch te gaan, gebruik je:

git checkout rfc850-branch

Zulke vertakkingen zul je vooral gebruiken om functies apart van de master uit te werken die je later eventueel weer toevoegt aan die master, ook wel ‘merge’ genoemd.

©PXimport

▼ Volgende artikel
FRITZ! introduceert compacte wifi 7-stopcontactset voor sneller internet in huis
© FRITZ!
Huis

FRITZ! introduceert compacte wifi 7-stopcontactset voor sneller internet in huis

FRITZ! heeft de Mesh Set 1700 uitgebracht, een nieuwe wifi 7-oplossing die je gewoon in het stopcontact prikt. De compacte set bestaat uit kleine repeaters die samen één groot draadloos netwerk vormen, bedoeld om in elke hoek van het huis snel en stabiel internet te bieden.

De set draait om de vernieuwde FRITZ!Repeater 1200 AX, nu uitgerust met wifi 7 en goed voor snelheden tot 3.600 Mbit/s op de 2,4- en 5GHz-banden – een toename van ongeveer 600 Mbit/s ten opzichte van het vorige model. Dankzij multigigabit-wifi kunnen meer apparaten tegelijk verbonden zijn zonder dat de snelheid merkbaar daalt. De nieuwe wifi 7-functie Multi-Link Operation maakt het mogelijk om data gelijktijdig via beide frequentiebanden te versturen, wat de stabiliteit verder verbetert. Voor vaste apparaten is er bovendien een gigabitpoort aanwezig.

Omdat de repeaters direct in het stopcontact worden gestoken, nemen ze nauwelijks ruimte in en zijn ze eenvoudig te installeren. Gebruikers kunnen kiezen voor een set met twee of drie repeaters, afhankelijk van de grootte van de woning. De FRITZ!Mesh Set 1700 werkt het best samen met een FRITZ!Box, maar kan ook worden gekoppeld aan routers van andere merken. In dat geval fungeert de eerste repeater als centrale wifi-regelaar.

Goed om te weten: alle FRITZ!Box-routers en repeaters worden in Europa geproduceerd, krijgen vijf jaar garantie krijgen en ontvangen gratis beveiligings- en functie-updates.

Beschikbaarheid

De FRITZ!Mesh Set 1700 is per direct verkrijgbaar als set van twee of drie repeaters. De afzonderlijke repeater is ook los te koop onder de naam FRITZ!Repeater 1700.

Wat doet Multi-Link Operation?

Multi-Link Operation is een technologie specifiek binnen wifi 7 waarmee apparaten gelijktijdig gebruikmaken van meerdere frequentiebanden. Hierdoor kan data sneller en stabieler worden verzonden, vooral bij druk gebruik van het netwerk.

▼ Volgende artikel
Online veilig, voordeliger dan ooit: tot 50% cashback op producten van Bitdefender
Zekerheid & gemak

Online veilig, voordeliger dan ooit: tot 50% cashback op producten van Bitdefender

Je klikt op een link die eruitziet alsof hij van je bank komt. Een paar minuten later blijkt je laptop besmet of je gegevens liggen op straat. Je denkt misschien: dat overkomt mij niet, maar: het kan ook jou overkomen. Echt. Online veiligheid is dus geen luxe, maar noodzaak. Gelukkig hoeft dat geen dure investering te zijn. Via Cashback XL krijg je nu een groot deel van je aankoopbedrag terug op de beveiligingspakketten van Bitdefender.

Bitdefender biedt betrouwbare bescherming tegen de digitale gevaren van alledag: phishing, ransomware, spyware en datalekken. Bitdefender Total Security beveiligt meerdere apparaten tegelijk, van laptop tot smartphone. Wie meer privacy wil, kiest voor Bitdefender Premium Security met onbeperkt VPN-verkeer en anti-trackingfuncties. En voor wie niets aan het toeval wil overlaten, is er Bitdefender Ultimate Security – compleet met identiteitsbescherming, darkwebmonitoring en persoonlijk veiligheidsadvies.

Zoek je een eenvoudiger pakket, dan is Bitdefender Antivirus Plus een goede basis voor Windows. Daarnaast zijn er losse tools zoals Bitdefender Premium VPN, waarmee je internetverkeer volledig versleuteld wordt, en Bitdefender SecurePass, dat al je wachtwoorden veilig opslaat en automatisch invult.

Of je nu ondernemer bent, overstapt van een ander merk of al jaren Bitdefender gebruikt: de cashbackactie via Cashback XL geldt voor iedereen. Nieuwe klanten krijgen 40% van hun aankoopbedrag terug, zakelijke gebruikers zelfs 50%. En ben je een bestaande klant? Dan is er goed nieuws. Waar je bij veel andere aanbieders buiten de boot valt, krijg je bij Bitdefender via Cashback XL alsnog 10% van je aankoopbedrag teruggestort op je rekening.


Denk je nu: dat wil ik? Dan is dit hét moment. Want met de Bitdefender-actie op CashbackXL krijg je maar liefst maximaal 50% van je aankoopbedrag teruggestort op je rekening!

Zo werkt de Bitdefender-cashback

Ga op CashbackXL naar de Bitdefender-actie en klik linksboven op Shop & ontvang cashback. Voeg pas daarna de producten die je wilt aanschaffen toe aan de winkelwagen; dat is enorm belangrijk voor de tracking. Controleer dat alle cookies zijn toegestaan (ook bij de webshop waar je winkelt) en dat je geen ad-blocker gebruikt. Voer daarna je betaling uit. De cashback wordt binnen enkele uren bevestigd en staat na ongeveer twee maanden klaar voor uitbetaling. Houd er rekening mee dat het dus eventjes duurt voordat je het geld terugkrijgt. Belangrijk om te weten: je ontvangt cashback over de orderwaarde excl. btw, verzendkosten en eventuele toeslagen. En uiteraard krijg je alleen cashback op betaalde producten van Bitdefender – maar dat is logisch natuurlijk!

Waarom je CashbackXL kunt vertrouwen

CashbackXL is de grootste cashback-site van Nederland. De site registreert 97 procent van alle aankopen succesvol en scoort op Kiyoh een klantwaardering van een 9,0. Je ontvangt je uitbetaling maandelijks, krijgt de hoogste cashback-percentages en kunt terecht bij een toegankelijke klantenservice.

Geld terug op elke Bitdefender-aankoop?

Het kan met deze actie van CashbackXL!