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
Trage computer? Zo versnel je de opstarttijd van Windows 11
© MG | ID.nl
Huis

Trage computer? Zo versnel je de opstarttijd van Windows 11

Een minuut wachten kan eindeloos lijken, bijvoorbeeld tussen het indrukken van de aanknop en het uiteindelijk erschijnen van het Windows-bureaublad. Met de juiste aanpassingen kun je die wachttijd vaak flink verkorten. En wie wil er nu niet sneller uit de startblokken?

Het is je vast al opgevallen dat je Windows-pc na maanden intensief gebruik trager opstart dan in het begin. Dat lijkt vreemd, maar is goed verklaarbaar: je hebt waarschijnlijk allerlei programma’s geïnstalleerd die automatisch met Windows mee opstarten. Deze automatisch opstartprogramma’s controleren en uitschakelen is dan ook een belangrijke optimalisatiestap.

Maar daarnaast bestaan nog wel andere trucs om de opstarttijd te verkorten. Staat Windows nog op een klassieke harde schijf, dan kun je de tijd vaak makkelijk met een minuut of meer inkorten door over te stappen op een ssd (Solid State Drive). Dit kost wel wat tijd en geld, maar levert meteen een flinke tijdwinst op. En als we het toch over drastische ingrepen hebben: ook een volledige, schone (her)installatie van Windows (op dezelfde schijf) geeft je pc gegarandeerd een snellere start.

Draait Windows al op een ssd en wil je geen nieuwe installatie uitvoeren, lees dan vooral verder: er zijn ook minder ingrijpende maatregelen die het opstarten van je computer merkbaar versnellen. 

Meten is weten

Hoeveel tijd je met de tips en technieken uit dit artikel precies wint, is lastig te voorspellen, want dit hangt af van meerdere factoren. We raden je aan dit zelf te meten. Dat kan met een stopwatch, maar gespecialiseerde applicaties doen dit nauwkeuriger. Windows Performance Analyzer (https://apps.microsoft.com/detail/9n0w1b2bxgnz) is een optie, maar is erg technisch. Een veel gebruiksvriendelijker alternatief is BootRacer (www.greatis.com/bootracer). Deze app is ook gratis en die kun je na enkele testrondes gerust weer verwijderen. We tonen eerst hoe je BootRacer gebruikt om de opstarttijd(en) te meten, want de tool biedt daarnaast ook enkele optimaliseringsopties.

WPA: een geavanceerd meetinstrument.

BootRacer (meten)

Download de app en pak het zip-bestand uit. Start het uitgepakte exe-bestand en installeer het. Laat de vier opties aan het einde van de setup aangevinkt, rond af met Voltooien en start BootRacer op. Sluit alle andere applicaties, klik op Start en kies bij Perform a full boot time test voor Start Test / Yes. Na de herstart van Windows verschijnt rechtsonder een pop-upvenster met de opstartduur. Standaard meet BootRacer dit bij elke nieuwe Windows-opstart, waarna je via History de opeenvolgende tijden kunt volgen. Deze duur is telkens opgesplitst in drie delen: de eigenlijke boottijd, de wachttijd om aan te melden, en de tijd tussen aanmelding en een gebruiksklaar bureaublad. De BIOS-tijd (Pre-boot) aan het begin zit er niet bij omdat BootRacer begrijpelijkerwijs dan nog niet draait. Tijdens de boottijd laadt Windows de kernel, start essentiële systeemservices en initialiseert stuurprogramma’s. Na je aanmelding worden je profiel, instellingen, de shell (Verkenner), achtergrondprocessen en automatische opstartprogramma’s geladen.

Wil je niet langer dat BootRacer de opstarttijd meet, ga dan naar Options en selecteer op het tabblad Show de optie Disable BootRacer AutoStart in plaats van Every boot.

BootRacer geeft je een mooi beeld van de opeenvolgende opstarttijden.

Automatisch opstarten

Je weet nu hoe je de opstartduur kunt meten en bekijken, dus kunnen we aan de slag om deze te optimaliseren en te verkorten. Vaak win je tijd door enkel noodzakelijke programma’s automatisch met Windows te laten starten. Dit overzicht vind je in het Windows Taakbeheer, bereikbaar via het contextmenu van de startknop. Klik hier op Opstart-apps. Zet overbodige apps (tijdelijk) uit door er met rechts op te klikken en Uitschakelen te kiezen, al blijft het hier gissen hoeveel tijd zo’n app werkelijk kost bij het opstarten.

Daarvoor gebruik je BootRacer, dat ook per app de opstarttijd kan vastleggen. Start BootRacer, ga naar Options, open het tabblad Startup Control, klik op Enable Control en vink Measure program’s startup time en Log history of started apps aan. Bevestig met Save. Na een nieuwe Windows-opstart klik je in BootRacer op History en kies je History of Executed Startup Programs, voor een exacte opstarttijd van elke app, in chronologische volgorde.

BootRacer registreert nauwkeurig de opstarttijd van elke automatisch opstartende app.

Opstart-optimalisatie

Je weet nu precies hoeveel impact elke app heeft op de totale opstarttijd. In BootRacer kun je deze apps niet alleen tijdelijk uitschakelen, maar ook de startvolgorde aanpassen. Open het onderdeel Startup Control voor een overzicht. Verwijder het vinkje om apps uit te schakelen. Klik je met rechts op een app, dan kies je Info om het pad naar het programma te zien of eventueel Delete als je de opstartverwijzing (in het register) helemaal wilt verwijderen. Met de knop Set Order links bovenin bepaal je via de pijlknoppen welke apps eerder of juist later starten. Bevestig je wijzigingen met Finish Reordering.

Je kunt ook de onderlinge opstartvolgorde aanpassen in BootRacer.

Opstart-vertraging

In BootRacer kun je het opstarten van specifieke apps niet uitstellen om sneller je bureaublad te zien, omdat de app pas daarna wordt gestart. Dat kan wel met de gratis HiBit start-up Manager (www.hibitsoft.ir/StartupManager.html). Kies bij voorkeur voor de installeerbare versie, want de portable editie mist enkele opties. Installeer de app en start deze op. Wil je een app later laten opstarten, klik er dan met rechts op, kies Add to Delay en stel de gewenste vertraging in (Hour, Minute, Seconds). Of kies Automatic Delay en bepaal hoeveel procent cpu- en/of schijfbelasting er maximaal mag zijn voordat de app start. Bevestig met OK.

Start-up Manager heeft bij de rubriek Tools ook enkele handige extra’s. Zo meldt System Monitoring zich zodra een nieuwe app met Windows wil opstarten en geeft Boot Optimizer de opstarttijden weer, ook van achtergrondservices (zie ook bij Service-optimalisatie).

Je kunt apps eventueel ook laten opstarten nadat je bureaublad is verschenen.

Functie: ‘Snel opstarten’

Windows heeft een functie ‘Snel opstarten’ die de boottijd verkort. Normaal sluit Windows bij het afsluiten alle apps en logt het systeem de gebruiker uit, waarna bij de volgende start alles opnieuw wordt geladen. Met ‘Snel opstarten’ bewaart Windows de status van de systeemkernel en stuurprogramma’s (in het verborgen bestand c:\hiberfil.sys). Bij een volgende start wordt dit snapshot ingeladen, waardoor Windows sneller opstart. In de meeste gevallen is het zinvol deze functie in te schakelen, behalve bij dual-bootconfiguraties of bij stuurprogramma’s die er niet goed mee werken.

Je beheert dit via de ingebouwde app Configuratiescherm. Ga naar Systeem en beveiliging / Energiebeheer, klik op Het gedrag van de aan/uit-knoppen bepalen en kies Instellingen wijzigen die momenteel niet beschikbaar zijn. Zet een vinkje bij Snel opstarten inschakelen (aanbevolen) en bevestig met Wijzigingen opslaan.

Windows heeft een ingebouwde functie om de opstarttijd wat in te korten. 

Energiemodi

De functie Snel opstarten werkt alleen bij een volledige afsluiting, maar in het venster Energiebeheer kom je ook Slaapstand en Sluimerstand tegen, die je hier meteen ook kunt activeren. Beide energiebesparende modi zorgen voor een nog snellere start.

Bij Sluimerstand (hibernate) schrijft Windows de volledige inhoud van het RAM naar schijf, zodat de pc geen stroom meer nodig heeft. Bij het opstarten hervat je de sessie exact waar je gebleven was, inclusief geopende programma’s. Nog sneller is Slaapstand, waarbij de sessie in het RAM-geheugen blijft, waardoor de pc wel nog een klein beetje stroom verbruikt.

De exacte opstarttijd hangt af van je hardware en opstartapps, maar grofweg kun je het volgende verwachten: volledig afsluiten zonder snel opstarten circa 30 tot 60 seconden, volledig afsluiten met snel opstarten circa 15 tot 30 seconden, sluimerstand circa 10 tot 20 seconden en slaapstand circa 5 seconden.

De energiebesparende modi kunnen je ook flink wat opstarttijd besparen. 

Procesoptimalisatie

Blijft de opstart lang duren, ook nadat je alle overtollige opstart-apps hebt uitgeschakeld, dan moet je dieper graven. Vaak zijn het services en achtergrondprocessen die vertraging veroorzaken, zoals cloud-synchronisatiesoftware, update-taken of diensten van derden.

Met een ietwat botte methode spoor je dit als volgt op. Druk op Windows-toets+R, voer msconfig uit, open het tabblad Services en vink Alle Microsoft-services verbergen aan. Klik op Alles uitschakelen en herstart de pc. Start hij nu merkbaar sneller op, dan veroorzaken een of meer van die processen de vertraging.

Met de Boot Optimizer van start-up Manager (zie bij ‘Opstart-vertraging’) kun je zien hoeveel tijd zulke processen kosten. Klik desgewenst met rechts op een proces en kies Disable om het uit te schakelen (het item kleurt grijs). Later kun je dit met Enable weer inschakelen. Kies Uninstall alleen als je zeker weet dat de software niet nodig is, want hiermee verwijder je deze. De optie Delete gebruik je beter niet, omdat dit enkel het item uit de lijst verwijdert terwijl het proces toch kan blijven opstarten.

Je kunt services ook rechtstreeks beheren in Windows via de ingebouwde app Services. Selecteer een service, klik met rechts en kies Eigenschappen. Op het tabblad Algemeen stel je het Opstarttype in op Handmatig of eventueel op Automatisch (vertraagd starten), zodat de service geen impact heeft tijdens de eigenlijke opstartfase. Bevestig met OK.

Services kun je uitschakelen vanuit Boot Optimizer, maar ook vanuit de Services-module.

Autoruns

Vanuit Taakbeheer en met tools als BootRacer, Boot Optimizer en Services kun je de meeste automatisch startende apps en services beheren. Wil je echt alle autostartpunten van Windows zien, gebruik dan het gratis AutoRuns (https://learn.microsoft.com/en-us/sysinternals/downloads/autoruns), bij voorkeur als administrator. Op het tabblad Everything zie je alle opstartpunten in één overzicht en beheer je ze via het contextmenu. Met Jump to Entry spring je direct naar de locatie vanwaar ze worden gestart en met Delete verwijder je de opstartverwijzing uit Windows. Houd er rekening mee dat dit niet eenvoudig terug te draaien is, tenzij je de koppeling handmatig herstelt.

Autoruns lijst letterlijk elk mogelijk opstartpunt van Windows op.

Opstartuitstel

Je hebt de totale opstarttijd waarschijnlijk al flink teruggebracht, maar er zijn nog extra ingrepen mogelijk. Mogelijk zag je in BootRacer een melding over een ‘Explorer start-up Delay’ van 10 seconden voorbij komen. Windows bouwt deze vertraging namelijk standaard in, zodat essentiële systeemdiensten rustig kunnen starten, maar op een modern en snel systeem is dit meestal niet nodig. In BootRacer kun je dit alleen met de betaalde Pro-versie uitschakelen, maar via het register kan het ook gratis.

Druk op Windows-toets+R, voer regedit uit en navigeer naar HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer. Klik met rechts en kies Nieuw / Sleutel, geef deze de naam Serialize. Klik met rechts op deze nieuwe sleutel en kies Nieuw / DWORD (32-bits)-waarde. Noem deze StartupDelayInMSec en laat de waarde 0 staan. Sluit Regedit en herstart je pc.

Met een registeringreep kun je nog eens tot tien seconden besparen.

Auto-doorstart

Wanneer je in BootRacer de totale opstartfase bekijkt, zie je mogelijk ook een ‘Password timeout’, de tijd dat Windows wacht tot je je wachtwoord hebt ingevoerd. Zonde van de verloren tijd, maar als je de enige gebruiker van de pc bent, kun je Windows ook automatisch laten doorstarten.

Druk op Windows-toets+R, typ netplwiz en klik op OK. Verwijder het vinkje bij Gebruikers moeten een gebruikersnaam en wachtwoord opgeven […]. Bevestig met OK en vul het wachtwoord in van het gewenste account.

Zie je deze optie niet, dan gebruik je waarschijnlijk een Microsoft-account. Wil je geen lokaal account aanmaken, dan omzeil je dit als volgt. Ga opnieuw naar Uitvoeren en voer regedit uit. Navigeer naar HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device. Dubbelklik in het rechterdeelvenster op DevicePasswordLessBuildVersion en zet de waarde op 0 (in plaats van 2). Na een herstart van je pc zou de optie alsnog zichtbaar moeten zijn.

Als enige gebruiker kun je wellicht ook zonder aanmeldwachtwoord leven. 

UEFI/BIOS

Hoewel tools (zoals BootRacer) de opstarttijd van het UEFI/BIOS niet kunnen meten, kan deze fase toch ook enige tijd kosten. Hier controleert de firmware van je moederbord de hardware en start zij het verdere proces. Met enkele instellingen kun je de opstarttijd wellicht iets verkorten.

Om in het UEFI/BIOS te komen, druk je direct na het aanzetten van de pc op een toets als F10, F2 of Del (zie je systeemhandleiding). Zoek daar naar opties als Fast Boot, Quick Boot of Quick Power on Self Test en schakel deze in om bepaalde zelftesten of wachttijden over te slaan. Controleer ook de bootvolgorde: je stelt de Windows-schijf bij voorkeur in als eerste boot device. Vaak kun je ook ongebruikte hardware, zoals bepaalde poorten, uitschakelen, wat soms wat extra tijdwinst oplevert bij de initialisatie.

Je checkt ook even enkele instellingen in het UEFI/BIOS, zoals Fast boot.

▼ Volgende artikel
Resident Evil Village en meer titels komen naar PlayStation Plus-gamecatalogus
Huis

Resident Evil Village en meer titels komen naar PlayStation Plus-gamecatalogus

Sony heeft bekendgemaakt welke spellen deze maand aan de gamecatalogus voor PlayStation Plus Extra- en Premium-leden worden toegevoegd, en Resident Evil Village is er een van.

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.

Het lijkt geen toeval dat de game naar de catalogus komt, want eerder bleek al dat Village deze maand ook op Xbox Game Pass verschijnt. Daarbij zal eind februari het negende deel in de reeks, Resident Evil Requiem, uitkomen, dus dit is het ideale moment om nog even het geheugen op te frissen met Village, dat het achtste deel in de horrorfranchise betreft.

Deze games komen op 20 januari naar PS Plus Extra en Premium:

Andere spellen die vanaf 20 januari worden toegevoegd, zijn onder andere Like a Dragon: Infinite Wealth, A Quiet Place; The Road Ahead, de oorspronkelijke Ridge Racer en Art of Rally. Voor de duidelijkheid: de moderne spellen op onderstaande lijst zijn speelbaar voor alle PlayStation Plus Extra- en Premium-leden, de klassieke game is alleen voor Premium-leden bestemd.

  •        Resident Evil Village (PS5 / PS4)

  •        Like a Dragon: Infinite Wealth (PS5 / PS4)

  •        Expeditions: A MudRunner Game (PS5 / PS4)

  •        A Quiet Place: The Road Ahead (PS5 / PS4)

  •        Darkest Dungeon 2 (PS5 / PS4)

  •        The Exit 8 (PS5 / PS4)

  •        Art of Rally (PS5 / PS4)

  •        A Little to the Left (PS5 / PS4)

Deze game komt op 20 januari naar PS Plus Premium:

  • Ridge Racer

Meer informatie over deze games valt te vinden op PlayStation Blog.

View post on X