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
Death Stranding: Director’s Cut nu speelbaar via Xbox Game Pass
Huis

Death Stranding: Director’s Cut nu speelbaar via Xbox Game Pass

Microsoft heeft de Xbox Game Pass-titels van de komende wekend aangekondigd. Onder de games die naar de dienst komen valt ook Death Stranding: Director's Cut, die sinds vandaag op Game Pass staat.

De nieuwe Xbox Game Pass-toevoegingen werd via Xbox Wire aangekondigd. Daar valt ook meer informatie over de verschillende games die naar de abonnementsdienst komen te lezen.

Death Stranding

De Director's Cut van Death Stranding is daarbij een van de meest opvallende toevoegingen. Het spel van Hideo Kojima kwam in eerste instantie alleen op PlayStation-consoles uit, maar kwam daarna ook naar Xbox. Kojima bedacht hiervoor de Metal Gear-reeks en staat bekend om zijn vaak duizelingwekkende concepten en haast onnavolgbare verhalen in zijn games. Inmiddels is ook een vervolg op Death Stranding uitgekomen op PlayStation 5, maar die is nog niet op andere platforms beschikbaar.

In Death Stranding maken we kennis met een Amerika dat uit elkaar is gevallen doordat de grens tussen deze wereld en het dodenrijk vervaagt. De wereld wordt geteisterd door unieke regenbuien die niet alleen levende wezens en materialen in extreem snel tempo verouderen, maar ook een soort geesten (BT's) laten verschijnen. Als gevolg hiervan is de samenleving in de VS uit elkaar gevallen en zijn de overgebleven steden afgesloten, vaak ondergrondse forten die geen contact met elkaar hebben.

Spelers besturen Sam Porter Bridges - gespeeld door The Walking Dead-ster Norman Reedus - die door Amerika trekt en pakketjes tussen de verschillende vestigingen vervoert. Ondertussen probeert hij de steden aan een netwerk te verbinden, zodat de samenleving langzaam maar zeker weer in contact met elkaar komt en materialen kunnen uitwisselen via het netwerk. Sam heeft daarnaast de unieke eigenschap de hierboven genoemde BT's te zien. Hij weet zelfs wanneer hij ze nadert doordat hij een speciale baby bij zich draagt met soortgelijke paranormale gaven.

View post on X

De Xbox Games Pass-toevoegingen

Hieronder zijn alle toevoegingen aan Xbox Game Pass van de komende weken te zien.

  • Death Stranding: Director’s Cut (Xbox Series-consoles, pc en cloud) vanaf vandaag beschikbaar via Game Pass Ultimate, Premium, PC Game Pass

  • Ninja Gaiden: Ragebound (Xbox Series-consoles, pc en cloud) vanaf vandaag beschikbaar via Game Pass Ultimate, Premium, PC Game Pass

  • RoadCraft (pc) vanaf vandaag beschikbaar via Game Pass Ultimate, Premium, PC Game Pass

  • The Talos Principle 2 (Xbox Series-consoles en pc) vanaf 27 januari beschikbaar via Game Pass Ultimate, Premium, PC Game Pass

  • Anno: Mutationem (console, pc en cloud) vanaf 28 januari beschikbaar via Game Pass Ultimate, Premium, PC Game Pass

  • Drop Duchy (console, pc en cloud) vanaf 28 januari beschikbaar via Game Pass Ultimate, Premium, PC Game Pass

  • MySims: Cozy Bundle (pc) vanaf 29 januari beschikbaar via Game Pass Ultimate, PC Game Pass

  • Warhammer 40,000: Space Marine 2 (Xbox Series-consoles, pc en cloud) vanaf 29 januari beschikbaar via Game Pass Ultimate, Premium, PC Game Pass

  • Indika (Xbox Series-consoles, pc en cloud) vanaf 2 februari beschikbaar via Game Pass Ultimate, PC Game Pass

  • Final Fantasy 2 (Xbox Series-consoles, pc en cloud) vanaf 3 februari beschikbaar via Game Pass Ultimate, Premium, PC Game Pass

Deze games verdwijnen op 31 januari van Xbox Game Pass:

  • Citizen Sleeper 2: Starward Vector (console, pc en cloud)

  • Lonely Mountains: Snow Riders (console, pc en cloud)

  • Orcs Must Die! Deathtrap (console, pc en cloud)

  • Paw Patrol World (console, pc en cloud)

  • Shady Part of Me (console, pc en cloud)

  • Starbound (console, pc en cloud)

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Redesign van mobiele Netflix-app krijgt ruimte voor verticale video's
© ink drop - stock.adobe.com
Huis

Redesign van mobiele Netflix-app krijgt ruimte voor verticale video's

Netflix gaat dit jaar zijn mobiele app van een redesign voorzien. Daarbij komt er ruimte voor verticale video's om het verticale scherm van smartphones tegemoet te komen.

Dat kondigde co-CEO Greg Peters gisteren aan tijdens een gesprek met investeerders. De nieuwe interface van de mobiele app is nog niet getoond, maar moet ergens dit jaar uitkomen en Netflix helpen met "de uitbreiding van onze zaken gedurende het komende decennium".

Verticale video's

Netflix geeft aan dat het al sinds mei vorig jaar experimenteert met verticale video's. Daarbij worden er korte clips uit films en series van Netflix getoond in een verticaal formaat - iets wat voor smartphonegebruikers wereldwijd steeds natuurlijker voelt dankzij socialmedia-apps als TikTok en Instagram. Daarbij wordt het voor consumenten steeds normaler om videocontent op hun mobiel te kijken in plaats van op tv.

Netflix wil de opties voor verticale video's dus uitbreiden en de vernieuwde mobiele app die later dit jaar uit zal komen, moet dit mogelijk maken. Daarnaast wil het bedrijf ook meer stappen maken in de wereld van videopodcasts, waar de vernieuwde app ook geschikter voor moet worden. Deze week heeft Netflix de eerste exclusieve videopodcasts gedebuteerd.

Plannen van Netflix

De hierboven beschreven veranderingen lijken te suggereren dat Netflix zijn markt wil verbreden en het een en ander leert van populaire socialmediaplatforms. Tegelijkertijd blijft het streamingbedrijf investeren in nieuwe films en series.

Netflix wil ook nog altijd filmproductiebedrijf Warner Bros. overnemen, en daarmee dus ook HBO Max. Beide bedrijven zien de overname zitten, maar Paramount zit ertussen en wil Warner Bros. ook graag overnemen. Uiteindelijk beslissen aandeelhouders van Warner Bros. Daarom heeft Netflix de overnamedeal deze week nog wat verfijnd, waarbij er in meer 'contant' geld uitbetaald wordt in plaats van aandelen.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.