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
De Forza Horizon 6-releasedatum is mogelijk gelekt
Huis

De Forza Horizon 6-releasedatum is mogelijk gelekt

Het lijkt er op dat Microsoft zelf de releasedatum van het langverwachte Forza Horizon 6 heeft gelekt. De game zou op 19 mei uitkomen op Xbox Series-consoles en pc.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf vandaag 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.

Volgens Xbox Infinite verscheen er namelijk een advertentie in Forza Horizon 5 waarin staat dat de Premium Edition van de game toegang geeft vanaf 15 mei, om precies te zijn vier dagen voor de officiële release. Dat zou dus betekenen dat het spel op 19 mei voor iedereen beschikbaar komt. De advertentie is mogelijk te vroeg online gekomen, want officieel is er nog helemaal geen releasedatum bekend.

Waarschijnlijk horen we de officiële releasedatum op 22 januari. Dan zendt Microsoft namelijk een nieuwe Xbox Developer Direct uit, met een focus op Forza Horizon 6 en de nieuwe Fable – die beide worden ontwikkeld door Playground Games. Ook komt Beast of Reincarnation voorbij, de nieuwe game van Pokémon-studio Game Freak. Dat is immers een onafhankelijke studio, dus ze kunnen ook spellen buiten Nintendo ontwikkelen. Tot slot gaan er geruchten dat er een mysterieuze vierde titel wordt getoond, mogelijk een indiegame.

Op veler verzoek: racen in Japan

In de Forza Horizon-games kunnen spelers naar hartenlust rondscheuren in mooie bolides. De games spelen zich af in open werelden, waarbij men de mogelijkheid heeft om aan diverse racefestivals mee te doen. Forza Horizon 6 heeft als setting Japan – een locatie waar veel fans al geruime tijd om vragen. Ook zullen net als in de vorige games de seizoenen veranderen. Het betreft een subreeks van Forza Motorsport – dat zijn serieuzere racegames ten opzichte van de wat speelsere Horizon-titels.

Forza Horizon 6 heeft op moment van schrijven in ieder geval nog geen officiële releasedatum, al is wel bekend dat het racespel eerst naar Xbox Series-consoles en pc komt alvorens hij op PlayStation 5 zal verschijnen. Microsoft brengt zijn games tegenwoordig ook steeds vaker naar Sony’s console – soms tegelijk met de Xbox-versie, maar in dit geval dus pas ergens daarna.

View post on X
▼ Volgende artikel
Starten met smarthome in één middag: een stappenplan voor beginners
Zekerheid & gemak

Starten met smarthome in één middag: een stappenplan voor beginners

Een slim huis klinkt ingewikkeld, maar je kunt de basis prima in een paar uur neerzetten. Met de juiste voorbereiding en focus op specifieke producten maak je jouw woning direct een stuk comfortabeler. In dit artikel leggen we je uit hoe je binnen één middag de eerste stappen zet zonder dat het je boven het hoofd groeit.

Veel mensen denken dat het opzetten van een slim huis een langdurig en ingrijpend project is waarbij je muren moet openbreken voor bekabeling. De werkelijkheid is dat moderne draadloze standaarden en gebruiksvriendelijke apps het proces enorm hebben versneld. Als je meteen vanaf het begin slimme keuzes maakt, bespaar je jezelf een hoop ellende en frustratie later. Het gaat erom dat je klein begint en kiest voor apparatuur die soepel met elkaar samenwerkt via een centraal punt, zodat je niet voor elk los onderdeel een andere bedieningswijze nodig hebt.

De basis: een stabiel netwerk en een hub

Voordat je begint met het uitpakken van nieuwe gadgets, moet je zorgen dat de fundering van je slimme woning stevig staat. Je wifi-netwerk is de ruggengraat van al je apparaten, dus controleer of de dekking in de ruimtes waar je aan de slag gaat voldoende is. Het is vaak slim om te kiezen voor een centrale hub of een slimme speaker die als brug dient voor verschillende protocollen zoals Zigbee of Matter. Door te kiezen voor een apparaat dat meerdere standaarden ondersteunt, voorkom je dat je voor elk nieuw lampje een aparte brug in het stopcontact moet steken. Dat scheelt niet alleen ruimte, maar zorgt ook voor een snellere reactietijd van je apparatuur omdat signalen minder hoeven te reizen.

©Philips Hue

Direct resultaat met slimme verlichting en stekkers

De snelste manier om je huis slim te laten aanvoelen, is door te beginnen met de verlichting. Je vervangt je oude lampen simpelweg door slimme varianten en koppelt deze aan de bijbehorende app op je telefoon. In diezelfde middag kun je direct eenvoudige automatiseringen instellen, zoals lampen die automatisch op een warme kleur overgaan wanneer de avond valt. Slimme stekkers zijn hierop een goede aanvulling voor apparaten die van zichzelf niet verbonden zijn, zoals een oude staande lamp of een koffiezetapparaat. Hiermee breid je de functionaliteit van je bestaande spullen uit zonder dat je grote investeringen hoeft te doen, waardoor je direct de voordelen merkt van een slim huis.

Beveiliging en sensoren voor extra gemak

Nu de basis staat, kun je kijken naar eenvoudige sensoren die het dagelijks leven makkelijker maken zonder dat ze opvallen. Een bewegingsmelder in de gang of een deursensor bij de voordeur zorgt ervoor dat je nooit meer in het donker hoeft te zoeken naar een lichtknopje als je met je handen vol thuiskomt. Deze kleine apparaten werken vaak op batterijen en zijn binnen enkele minuten geïnstalleerd met een eenvoudige plakstrip. Je kunt ze direct koppelen aan de verlichting die je eerder die middag hebt opgehangen. Zo creëer je in korte tijd een samenhangend systeem dat reageert op jouw aanwezigheid en de veiligheid in huis direct verhoogt door ongewenste bewegingen te signaleren.

Populaire merken voor smarthome

Voor wie op zoek is naar een vliegende start, zijn er verschillende fabrikanten die uitblinken in gebruiksgemak en betrouwbaarheid. Philips Hue is al jaren de standaard voor verlichting vanwege de stabiliteit en de enorme keuze aan lichtscènes. Als je liever een breder assortiment zoekt tegen een toegankelijke prijs, dan biedt IKEA met de Home Smart-lijn uitstekende oplossingen die goed samenwerken met andere grote ecosystemen. Google Nest is een sterke keuze voor wie een centraal punt zoekt in de vorm van slimme schermen en speakers met een krachtige spraakassistent. Voor de gebruikers die graag alles van verschillende merken aan elkaar willen knopen, is het Nederlandse Homey een interessant merk dat bijna alle protocollen ondersteunt in één handige interface.