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
Waar voor je geld: 5 NVMe-ssd's van 2 TB voor je laptop
© ID.nl
Huis

Waar voor je geld: 5 NVMe-ssd's van 2 TB voor je laptop

De prijzen van NVMe-chips voor ssd's zijn flink aan het stijgen. Ben je van plan om je laptop van een grotere opslagcapaciteit te voorzien? Dan is dit het moment om te kijken waar je de beste deal kunt vinden. Wij vonden op Kieskeurig.nl een vijftal NVMe-ssd's, met uiteenlopende prijzen. Wees er snel bij, want deze prijzen kunnen snel verder stijgen.

Samsung 990 PRO 2 TB NVMe SSD

Met de Samsung 990 PRO 2 TB NVMe SSD kun je je computer of spelconsole voorzien van een extra snelle opslagoplossing. Deze M.2‑module maakt gebruik van de PCIe 4.0‑interface en haalt sequentiële leessnelheden tot 7.450 MB/s en schrijfsnelheden tot 6.900 MB/s. Volgens Samsung liggen de willekeurige lees‑ en schrijfsnelheden 40 % en 55 % boven die van de vorige 980 PRO, waardoor de drive geschikt is voor data‑intensieve toepassingen zoals videobewerking, 3D‑ontwerp of gaming.

Het energiemanagement is volgens Samsung verbeterd: de ssd levert ruim 50 % meer prestaties per watt ten opzichte van zijn voorganger. Om je systeem stabiel te houden, beschikt de controller over slimme temperatuurbeheersing en een slanke heatsink zodat oververhitting en lawaaierige ventilatoren worden vermeden. Deze NVMe‑schijf werkt in pc’s en consoles en is ook geschikt voor de PlayStation 5. Verder ondersteunt de Samsung Magician‑software het monitoren van de schijftemperatuur en het kopiëren van gegevens.

Leessnelheid: tot 7.450 MB/s
Schrijfsnelheid:
tot 6.900 MB/s

WD Black SN770 2 TB NVMe SSD

De WD Black SN770 2 TB NVMe SSD is een M.2‑ssd die is bedoeld om je laptop of desktop een turboboost te geven. Het model ondersteunt de PCIe Gen 4‑interface en levert leessnelheden tot 5.150 MB/s. WD noemt een 20 % hogere energie‑efficiëntie in vergelijking met de vorige generatie, zodat je systeem minder energie verbruikt tijdens intensieve sessies. Voor gamers is er een speciale ‘gamingmodus’ in het WD Black‑dashboard: hiermee kun je de piekprestaties optimaliseren en tegelijkertijd de status van de schijf in de gaten houden.

De fabrikant benadrukt dat de drive dankzij thermische technologie consistent presteert, zelfs wanneer je langdurig speelt of grote bestanden verwerkt. Het compacte M.2‑formaat maakt hem geschikt voor moderne moederborden en laptops. Doordat de SN770 zowel voor pc als laptop is geformatteerd, kun je hem zonder speciale aanpassingen installeren.

Leessnelheid: 5.150 MB/s
Schrijfsnelheid: 4.850 MB/s

Kingston FURY Renegade 2 TB NVMe SSD

De Kingston FURY Renegade 2 TB NVMe is ontworpen voor gebruikers die hun pc of gameconsole willen uitrusten met veel opslag en hoge snelheden. Deze M.2‑drive maakt gebruik van een Gen 4x4‑NVMe‑controller en 3D‑TLC‑NAND; hierdoor zijn sequentiële lees‑ en schrijfsnelheden tot 7.300 MB/s en 7.000 MB/s mogelijk.

Kingston meldt bovendien dat de drive maximaal 1.000.000 IOPS haalt, wat van belang is bij multitasking of het laden van grote games. Om de prestaties stabiel te houden bij langdurige belasting, heeft Kingston een low‑profile grafeen‑aluminium warmtegeleider ontwikkeld. Voor de PlayStation 5 is een uitvoering met geïntegreerde heatsink beschikbaar; deze extra koellaag helpt de schijf koel te houden wanneer je console continu wordt belast. Met een capaciteit van 2 TB heb je genoeg ruimte voor games en multimediabestanden, en de M.2‑vormfactor maakt hem geschikt voor moderne moederborden.

Leessnelheid: tot 7.300 MB/s
Schrijfsnelheid:
tot 7.000 MB/s

Seagate FireCuda 520N 2 TB NVMe SSD

De Seagate FireCuda 520N 2 TB NVMeis een compacte NVMe‑schijf die speciaal is ontworpen voor handheld gamingapparaten en ultracompacte pc’s. Met een M.2 2230‑vormfactor past hij in handheld consoles zoals de Steam Deck en de ASUS ROG Ally. De drive gebruikt een PCIe Gen4 x4‑interface en levert sequentiële leessnelheden tot ongeveer 5.000 MB/s en schrijfsnelheden tot 3.200 MB/s.

Het door Seagate opgegeven uithoudingsvermogen vermeldt voor de 2 TB‑versie een schrijflast van 660 TBW, wat duidt op de hoeveelheid data die je in de levensduur kunt wegschrijven. Dankzij het compacte formaat en de bijbehorende 5‑jaar garantie is de drive bedoeld als duurzame upgrade voor draagbare systemen. Je hoeft daarbij geen adapters te gebruiken omdat de drive rechtstreeks in het M.2‑2230‑slot past, wat montage vereenvoudigt. Met 2 TB aan opslagruimte is er voldoende ruimte voor games, apps en systeemupdates op een handheld platform.

Leessnelheid: tot 5.000 MB/s
Schrijfsnelheid:
tot 3.200 MB/s

SanDisk SN7100 2 TB NVMe SSD

De SanDisk SN7100 2 TB NVMe SSD richt zich op gamers en professionals die behoefte hebben aan hoge bandbreedte. In zijn 2 TB‑uitvoering gebruikt deze M.2 2280‑drive een PCIe 4.0 x4‑interface met NVMe 1.4‑protocol. Volgens een review haalt hij sequentiële leessnelheden tot 7.250 MB/s en schrijfsnelheden tot 6.900 MB/s, terwijl de random leesprestaties tot 1.000 K IOPS en de random schrijfprestaties tot 1.400 K IOPS reiken. De SN7100 combineert een BiCS8 TLC‑flashgeheugen met een host‑memory‑buffer (HMB), waardoor de drive DRAM‑loos is maar toch hoge prestaties levert. De review benadrukt dat de schijf energiezuinig is en gericht is op langdurig gebruik. Op Kieskeurig wordt vermeld dat deze SSD geschikt is voor zowel pc’s als gameconsoles en een opslagcapaciteit van 2 TB heeft. Daardoor kun je hem gebruiken in een desktop, laptop of console zonder dat je extra configuratie nodig hebt.

Leessnelheid: tot 7.250 MB/s
Schrijfsnelheid:
tot 6.900 MB/s

▼ Volgende artikel
Switch 2-editie van Xenoblade Chronicles X uitgebracht
Huis

Switch 2-editie van Xenoblade Chronicles X uitgebracht

Nintendo heeft geheel onverwachts een Switch 2-upgrade voor Xenoblade Chronicles X: Definitive Edition aangekondigd en uitgebracht.

De rpg van Monolith Soft kwam oorspronkelijk uit in 2015 op Wii U, maar vorig jaar werd het spel al overgezet naar de Nintendo Switch in de vorm van een 'Definitive Edition'. Nu is daar dus een Switch 2-editie bijgekomen.

Mensen kunnen deze editie los kopen op Switch 2, of - als ze de Switch-versie al hebben - een upgrade van (naar schatting) 5 euro aanschaffen om te upgraden naar de Switch 2-versie. Op 16 april komt er ook een fysieke versie in de winkels te liggen.

De Switch 2-upgrade laat het spel in 4K en 60 frames per seconde op televisie draaien, en in 1080p en 60 fps in handheldvorm. Verdere wijzigingen zijn er voor zover bekend niet. De Switch-versie was al een upgrade ten opzichte van het origineel, met verbeterde graphics en meer verhaal.

Watch on YouTube

Over Xenoblade Chronicles X

Xenoblade Chronicles X maakt deel uit van de Xenoblade Chronicles-franchise van Monolith Soft, dat tegenwoordig onderdeel uitmaakt van Nintendo. Er zijn drie hoofddelen in de rpg-serie verschenen, en Xenoblade Chronicles X staat daar los van.

De game speelt zich af in het jaar 2054, waarin de aarde is verwoest. Een kleine groep overlevenden is met een ruimteschip ontsnapt en neergestort op de planeet Mira. In een grote, open spelwereld kunnen spelers op verkenning gaan, en gebruikmaken van een Skell - een soort mech die in een voertuig kan transformeren en kan vliegen.