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
Philips presenteert betaalbare QD-OLED-monitor Evnia 27M2N6501L
© Philips
Huis

Philips presenteert betaalbare QD-OLED-monitor Evnia 27M2N6501L

Philips lanceert de Evnia 27M2N6501L, een 27-inch QD-OLED-monitor die hoogwaardige beeldkwaliteit combineert met een relatief scherpe prijs. Het model richt zich vooral op gamers en gebruikers die veel waarde hechten aan contrast, vloeiende actie en brede inzetbaarheid.

De monitor maakt gebruik van QD-OLED-technologie, die bekendstaat om diepe zwarttinten en hoge kleurprecisie. De QHD-resolutie levert een scherp beeld, terwijl HDR-ondersteuning en 10-bit kleurdiepte het scherm geschikt maken voor films, games en grafische software. Opvallend is dat Philips deze eigenschappen aanbiedt in een prijsklasse waar QD-OLED tot nu toe nauwelijks te vinden was.

Voor gamers biedt de 27M2N6501L een verversingssnelheid van 240 Hz, wat zorgt voor vloeiende animaties en minder haperingen bij snelle actie. De monitor is G-Sync compatible en heeft extra hulpmiddelen zoals Crosshair- en Sniper-functies en ShadowBoost, die details in donkere scènes beter zichtbaar maken. Ambiglow krijgt een AI-upgrade en past de lichtgloed achter het scherm automatisch aan op de content.

©PHILIPS | Copyright (c) 2021 Stock Unit/Shutterstock.

HDMI 2.1 maakt het mogelijk om consoles en pc's direct op maximale resolutie en snelheid te gebruiken. MultiView toont twee apparaten tegelijk, nuttig voor wie wil multitasken. Verder zijn er opties zoals LowBlue Mode en Flicker-Free, die vriendelijker zijn voor je ogen. Ook heeft deze monitor een volledig verstelbare standaard.

De Philips Evnia 27M2N6501L is direct verkrijgbaar voor een adviesprijs van 419 euro. Philips geeft drie jaar garantie op zijn OLED- en QD-OLED-schermen, inclusief burn-in-dekking.

©Philips

▼ Volgende artikel
Black Friday bij Keukenloods: kortingen op topkeuze inbouwapparatuur
Huis

Black Friday bij Keukenloods: kortingen op topkeuze inbouwapparatuur

Tijdens Black Friday pakt Keukenloods uit met hoge kortingen op populaire inbouwapparatuur van merken als Siemens en Bosch. Wij lichten hier vijf modellen uit die nu extra interessant zijn: stuk voor stuk slimme keuzes voor wie zijn keuken wil vernieuwen of uitbreiden.

Partnerbijdrage - in samenwerking met Keukenloods

Siemens ED851BS16E – kookplaat met geïntegreerde afzuiging

De Siemens ED851BS16E combineert koken en afzuigen in één strak oppervlak. De vier inductiezones zijn flexibel inzetbaar dankzij de combiZone, waarmee je twee zones kunt samenvoegen tot één groter kookvlak. Met de powerBoost-functie breng je water extra snel aan de kook, en de quickStart- en reStart-functies zorgen dat de kookplaat direct reageert of je instellingen behoudt als je hem kort uitzet. De ingebouwde afzuiging verwijdert kookdampen direct bij de bron: je hebt dus geen aparte afzuigkap meer nodig.

Siemens EX875LVB1E – inductiekookplaat met flexzones

De Siemens EX875LVB1E is een ruime inductiekookplaat met vijf kookzones die tegelijk gebruikt kunnen worden. De flexInductie-zone herkent automatisch het formaat van de pan en past het verwarmingsoppervlak daarop aan. Dankzij de dual lightSlider-bediening stel je elke zone met een vloeiende beweging nauwkeurig in, van sudderen tot aanbraden. De powerBoost-functie verhoogt het vermogen tot wel 50 procent, zodat je in korte tijd grote hoeveelheden water of gerechten kunt verhitten. De kookplaat beschikt over zeventien vermogensstanden, een warmhoudfunctie en een overkookbeveiliging, wat koken preciezer én veiliger maakt.

Siemens CM724G1B2 – combi-oven met magnetronfunctie

De Siemens CM724G1B2 is een compacte combi-oven met een inhoud van 45 liter en vijftien verwarmingssystemen, waaronder hetelucht, circulatiegrill en onder- en bovenwarmte. Dankzij de combinatie van oven- en magnetronfuncties bereid je gerechten in minder tijd, zonder dat ze hun structuur of smaak verliezen. Via HomeConnect bedien je hem op afstand, en met de oven-assistent gebruik je spraakcommando's om bijvoorbeeld de voorverwarming te starten. Het TFT-touchdisplay biedt een helder overzicht van programma's en temperaturen, terwijl de soft-close-deur en ledverlichting hem nóg gebruiksvriendelijker maken.

Siemens SN63HX36TN – volledig geïntegreerde vaatwasser

De Siemens SN63HX36TN is een volledig geïntegreerde vaatwasser met ruimte voor twaalf couverts en een geluidsniveau van slechts 46 dB. Het apparaat beschikt over zes programma's en vier speciale functies, waaronder VarioSpeed Plus om sneller te wassen en HomeConnect voor bediening via wifi. Dankzij de MachineCare-functie blijft de binnenruimte schoon en fris, en met de Infolight zie je via een lichtprojectie op de vloer of het programma nog loopt. Het verstelbare bovenrek en de flexibele indeling zorgen dat ook grote pannen of glazen eenvoudig passen.

Bosch SMH4ECX28E – stille inbouwvaatwasser

De Bosch SMH4ECX28E valt op door zijn stille werking (42 dB) en energieklasse A. De vaatwasser biedt ruimte voor veertien couverts en beschikt over zes programma's en vijf functies, waaronder Extra Droog en SpeedPerfect+. De VarioLade bovenin biedt extra plek voor bestek en klein servies, terwijl het RackMatic-systeem het bovenrek in hoogte verstelbaar maakt. Met HomeConnect bedien je de machine via de app, en de doseerassistent zorgt dat afwasmiddel gelijkmatig wordt verdeeld voor een optimaal resultaat. De roestvrijstalen kuip en de automatische deuropening na afloop van het programma dragen bij aan een grondig en efficiënt droogresultaat.

Of je nu kiest voor een kookplaat met geïntegreerde afzuiging, een smarte combi-oven of een fluisterstille vaatwasser: tijdens Black Friday is het bij Keukenloods hét moment om te investeren in een moderne keuken! Op de speciale Keukenloods Black Friday-pagina vind je alle aanbiedingen!

Over Keukenloods

In de 16 fysieke showrooms en via Keukenloods.nl – de grootste online winkel voor inbouwapparatuur in Nederland – helpt Keukenloods dagelijks klanten bij het samenstellen van hun ideale keuken. Dankzij deskundig advies in de winkels, een uitgebreid online aanbod, scherpe prijzen en betrouwbare levering  weet je zeker dat jouw nieuwe inbouwapparatuur perfect past bij je keuken én je wensen.