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
Review Motorola Edge 70 – Licht toptoestel leg gewicht in de schaal
© Wesley Akkerman
Huis

Review Motorola Edge 70 – Licht toptoestel leg gewicht in de schaal

De Motorola Edge 70 volgt de recente trend van dunne, lichte smartphones, maar dan met een zachter prijskaartje van net geen 800 euro. Hoewel het geen directe concurrent is van vlaggenschepen als de S25 Edge, bewijst de Edge 70 dat een uniek premium ontwerp niet de hoofdprijs hoeft te kosten.

Uitstekend
Conclusie

De Motorola Edge 70 is een slimme aankoop als je een slank en licht toestel zoekt voor minder dan 1000 euro. De bouwkwaliteit, het scherm, de lange batterijduur en de robuustheid maken dit een fijne smartphone voor dagelijks gebruik. Ondanks de bloatware en de onvolwassen Moto AI bewijst dit toestel dat je geen duur vlaggenschip nodig hebt voor een vooruitstrevend ontwerp en vlotte prestaties.

Plus- en minpunten
  • Licht en slank ontwerp
  • Fijn en kleurrijk amoledscherm
  • Lange batterijduur
  • Robuust en duurzaam
  • Unieke kleurenopties
  • Geen telelens
  • Beperkte opties voor video-opnamen
  • Plaatsing vingerafdrukscanner
  • Onnatuurlijke foto's
  • Veel vooraf geïnstalleerde apps

Met een dikte van nét iets minder dan 6 millimeter en een gewicht van slechts 159 gram is de Edge 70 een van de lichtste en slankste telefoons op de markt. Desondanks voelt het toestel niet goedkoop aan, en dat is te danken aan een stevig aluminium chassis en een op nylon geïnspireerde bekleding. De Edge 70 biedt bovendien uitstekende duurzaamheid: hij heeft een MIL-STD-810H-certificering (MIL staat voor military grade), IP68- en IP69-ratings én is voorzien van Gorilla Glass 7i.

Het 6,7-inch amoledscherm heeft een resolutie van 2712 bij 1220 pixels en een adaptieve verversingssnelheid van 1 tot 120 Hz. Het vlakke oledpaneel biedt daarnaast een hoog contrast. Vooral de levendige, licht verzadigde kleuren, mogelijk gemaakt door de Pantone-nabewerking, vallen positief op. Het enige nadeel aan het display is de laag geplaatste vingerafdrukscanner; om die te gebruiken moet je je duim in een oncomfortabele positie buigen.

©Wesley Akkerman

Uitstekende middenklasser

De Edge 70 wordt aangedreven door de middenklasse Qualcomm Snapdragon 7 Gen 4-processor, bijgestaan door 12 GB werkgeheugen en 256 GB aan opslagruimte. Vooral de cpu is op papier minder krachtig dan die van de duurdere vlaggenschepen, maar in de praktijk maakt dat weinig uit. Apps worden snel geopend en multitasking gaat het apparaat goed af. Een groot voordeel is dat de processor niet erg heet wordt onder hoge druk en zijn werk dus zonder morren doet.

Een ander voordeel is dat de 4800mAh-batterij het opvallend lang volhoudt; zelfs bij matig tot zwaar gebruik is dat al snel een volledige dag. Daarmee overtreft hij de duurdere concurrentie van Samsung en Apple. Opladen gaat eveneens vlot, met 68 W bedraad, waardoor je binnen 50 minuten weer een volledig opgeladen batterij hebt. Ook op dit punt scoort Motorola flink wat punten.

©Wesley Akkerman

©Wesley Akkerman

Typisch Motorola

Traditioneel doet Motorola het goed op het gebied van software dankzij de bijna stock Android 16-ervaring. Helaas treffen we deze keer behoorlijk wat bloatware aan en zijn er advertenties zichtbaar in de weerapp; dubieus voor een toestel van 800 euro. Tijdens de installatie word je bovendien meermaals gevraagd om voorgestelde apps te installeren. En als je daar nee op zegt, kom je alsnog applicaties tegen waar je niet om vroeg, zoals TikTok en Perplexity AI.

Wat betreft ondersteuning kan de Motorola Edge 70 rekenen op vier Android-upgrades (tot Android 20) en vijf jaar aan beveiligingspatches. Hoewel dat voldoende is voor een middenklasser, blijft het wel iets achter bij de langere support die Samsung en Google bieden. Daarnaast voelt Moto AI nog aan als een achtergesteld project. De functies werken niet allemaal in het Nederlands, waardoor de AI-knop op het toestel eigenlijk nog maar weinig waarde heeft.

Groothoeklens

1x zoom

2x zoom

Foto's maken gaat prima

Het camerasysteem bestaat uit een 50MP-hoofdcamera met optische beeldstabilisatie, een 50MP-ultragroothoeklens en een 50MP-selfiecamera. Bij voldoende licht leveren deze camera's prettig ogende foto's met een ruim dynamisch bereik. Vooral in het donker verrast het toestel: dankzij de grote sensoren blijven beelden helder en gedetailleerd. Jammer is wel dat de software kleuren soms te nadrukkelijk verzadigt, waardoor foto's iets minder natuurlijk overkomen. Voor gebruik op sociale media zijn ze echter meer dan prima.

Toch kent het camerasysteem duidelijke beperkingen. Video's kunnen slechts in 4K met 30 fps worden opgenomen, terwijl beeldstabilisatie alleen werkt bij 1080p en 30 fps. Daarnaast kan de handmatige scherpstelling onverwacht invloed hebben op de helderheid. En doordat er geen telelens aanwezig is, ben je volledig aangewezen op digitale zoom. Begrijpelijk gezien de slanke behuizing van de Edge 70, maar alsnog een teleurstellend compromis.

Macrostand

Motorola Edge 70 kopen?

De Motorola Edge 70 is een slimme aankoop als je een slank en licht toestel zoekt voor minder dan 1000 euro. De bouwkwaliteit, het scherm, de lange batterijduur en de robuustheid maken dit een fijne smartphone voor dagelijks gebruik. Ondanks de bloatware en de onvolwassen Moto AI bewijst dit toestel dat je geen duur vlaggenschip nodig hebt voor een vooruitstrevend ontwerp en vlotte prestaties.

▼ Volgende artikel
Waar voor je geld: 5 smartphones met eSim voor minder dan 400 euro
© Farknot Architect - stock.adobe.
Huis

Waar voor je geld: 5 smartphones met eSim voor minder dan 400 euro

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we daarom binnen een bepaald thema naar zulke deals. Op zoek naar een betaalbare smartphone, maar dan wel eentje met een virtuele simkaart? De redactie van ID.nl is voor je op zoek gegaan naar smartphones met een prijskaartje van onder de 400 euro.

Met een eSim ben je niet meer afhankelijk van een fysiek simkaartje en heb je geen gepriegel meer met het plaatsen van je sim in de telefoon. Je kunt daardoor snel van provider wisselen zonder gedoe. Dit bespaart niet alleen tijd, maar ook ruimte in je apparaat. Perfect voor wie veel reist, omdat je eenvoudig internationale abonnementen kunt activeren. Daarnaast kun je op die manier ook gebruik maken van meerdere telefoonnummers op een enkel toestel, bijvoorbeeld eentje voor werk en prive.

Samsung Galaxy A26 5G

De Galaxy A26 5G combineert een slank ontwerp met krachtige prestaties. Het 6,7-inch FHD+ Super AMOLED-display biedt levendige kleuren en vloeiende beelden dankzij de 120 Hz verversingssnelheid. Onder de motorkap bevindt zich de Exynos 1380-chipset, ondersteund door 4 tot 8 GB RAM, wat zorgt voor soepele multitasking.

De 50 MP hoofdcamera met optische beeldstabilisatie legt scherpe foto's vast, zelfs bij weinig licht. Met een batterijcapaciteit van 5000 mAh en IP67-certificering is dit toestel zowel duurzaam als betrouwbaar. Bovendien belooft Samsung tot zes jaar beveiligingsupdates, wat de levensduur van het apparaat verlengt

Redmi Note 13 Pro

De Redmi Note 13 Pro 5G is een krachtpatser in het middensegment. Met een indrukwekkende 200 MP hoofdcamera met optische beeldstabilisatie leg je elk detail vast. Het 6,67-inch AMOLED-display met een resolutie van 1220x2712 pixels en een verversingssnelheid van 120 Hz zorgt voor een meeslepende kijkervaring.

Aangedreven door de Snapdragon 7s Gen 2-chipset en beschikbaar met tot 16 GB RAM, biedt dit toestel uitstekende prestaties. De 5100 mAh batterij ondersteunt 67W snelladen, waardoor je snel weer op pad kunt.​

Motorola Moto G35 5G

De Motorola Moto G35 5G biedt solide prestaties voor een betaalbare prijs. Het 6,72-inch LCD-scherm met een verversingssnelheid van 120 Hz zorgt voor vloeiende beelden. De 50 MP Quad Pixel-camera levert scherpe foto's, zelfs bij weinig licht.

Met een batterijcapaciteit van 5000 mAh en ondersteuning voor 5G-connectiviteit blijf je de hele dag verbonden. Hoewel de Unisoc T760-processor niet de snelste is, biedt het toestel voldoende kracht voor dagelijks gebruik

Sony Xperia 10 VI

De Sony Xperia 10 VI is een compacte smartphone met een focus op multimedia. Het 6,1-inch FHD+ OLED-scherm met een 21:9 beeldverhouding is ideaal voor het bekijken van films. Aangedreven door de Snapdragon 6 Gen 1-chipset en uitgerust met 8 GB RAM, biedt het toestel soepele prestaties.

De 48 MP hoofdcamera legt gedetailleerde foto's vast, terwijl de 5000 mAh batterij zorgt voor langdurig gebruik. Met IP68-certificering is het toestel bestand tegen water en stof

Samsung Galaxy A35 5G

De Galaxy A35 5G biedt premium functies in een betaalbaar jasje. Het 6,6-inch FHD+ Super AMOLED-display met een verversingssnelheid van 120 Hz zorgt voor heldere en vloeiende beelden. De 50 MP hoofdcamera met optische beeldstabilisatie legt scherpe foto's vast, terwijl de 13 MP selfiecamera zorgt voor duidelijke zelfportretten.

Aangedreven door de Exynos 1380-chipset en beschikbaar met tot 12 GB RAM, biedt het toestel krachtige prestaties. De 5000 mAh batterij ondersteunt 25W snelladen, en Samsung belooft tot vijf jaar beveiligingsupdates.