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 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.

▼ Volgende artikel
Review LG OLED65C54LA – Een kleine update voor de iconische C-serie
Huis

Review LG OLED65C54LA – Een kleine update voor de iconische C-serie

De OLED C-reeks van LG is inmiddels bijna een icoon. Het model situeert zich in de line-up net onder het topmodel, maar biedt nog steeds topprestaties voor games, films en sport. De C5 vertoont echter bijzonder veel gelijkenissen met de C4. Heeft deze LG C5 dan wel iets extra's te bieden?

Uitstekend
Energy label
Samenvatting

De LG OLED65C5 bouwt voort op de C4 met hetzelfde design, betere piekhelderheid en uitstekende kalibratie. De tv biedt sterke gamefeatures, prima beeldverwerking en Dolby Atmos-audio, maar mist DTS. WebOS 25 is snel en uitgebreid, al bevat het storende reclame. Dankzij de goede prestaties, breed app-aanbod en vijf jaar updates blijft de C5 een goede keuze.

Plus- en minpunten
  • Uitstekende piekhelderheid
  • Prachtige HDR-beelden in HDR10 en Dolby Vision
  • Goede kijkhoek en anti-reflectie
  • Zeer goede gamer-ondersteuning, met vier HDMI 2.1-poorten
  • Niet content-gerelateerd advertenties op het Home-scherm
  • Geen ondersteuning voor HDR10+ en DTS
  • Dynamische tonemapping maakt het beeld te helder
LG OLED65C54LA

Adviesprijs: 2.099 euro
Wat: Ultra HD 4K 144 Hz W-OLED-tv
Schermformaat: 65 inch (164 cm)
Aansluitingen: 4x HDMI (4x v2.1 (48 Gbps), ARC/eARC, ALLM, VRR, HFR), 3x USB, 1x optisch digitaal uit, 2x antenne, 1x IR-blaster, WiFi 6 (802.11ax), ethernet, Bluetooth 5.3
Extra’s: HDR10, HLG, Dolby Vision IQ, Dolby Atmos, WebOS 25, AirPlay 2, Google Cast, USB/DLNA-mediaspeler, DVB-T2/C/S2, CI+-slot, Alpha 9 processor
Afmetingen: 1441 x 880 x 230 mm (incl. voet)
Gewicht: 18,5 kg (incl. voet)
Verbruik (per 1000 uur): SDR 95 kWh (F) / HDR 234 kWh (G)

LG heeft voor de C5 heeft het ontwerp van de C4 overgenomen, maar daar hebben we geen bezwaar tegen; het is mooi en stijlvol. Het scherm heeft een dunne, metalen rand en aan de achterzijde zit de behuizing relatief diep achter het scherm. De structuur op de rug doet nog steeds aan stof of leder denken, alleen is deze nu grijs-zwart in plaats van bruin. Zonder voet is deze televisie 45mm diep, dus als hij aan de muur zou hangen ziet hij er fraai uit. Kies je voor een opstelling op tv-meubel, dan staat hij op een centrale voet. Veel ruimte onder het scherm heb je dan niet, de soundbar kan idealiter maar 5,5cm hoog zijn.

Aansluitingen

De C-reeks is al jaar en dag bijzonder goed uitgerust en zeker voor gamers heeft deze televisie flink wat te bieden. De vier HDMI-poorten ondersteunen allemaal de maximale 48Gbps bandbreedte van HDMI 2.1, en leveren ook ALLM, 4K144 (voor pc, gameconsoles zijn zelf beperkt tot 4K120) en VRR (AMD FreeSync en NVIDIA G-Sync). Op poort 2 kan je ARC/eARC gebruiken. Met andere woorden: geen probleem om zowel een soundbar als meerdere high-end gamebronnen aan te sluiten. Dankzij de erg lage input-lag, 10,8ms voor 4K60 en 5,9ms voor 2K120, is een responsieve game-ervaring gegarandeerd. Er is een IR-blaster poort voorzien om tv's die uit het zicht staan te besturen met de LG-afstandsbediening, maar de IR-blaster zelf zit niet in de doos. De C5 ondersteunt WiFi 6 (802.11ax), terwijl op de C4 nog WiFi 5 werd toegepast. De WiSA-ondersteuning (Wireless Speaker and Audio Association) is geschrapt, maar dat is geen enorm verlies. Alle aansluitingen wijzen naar opzij zodat ze wandmontage niet storen. 

De aansluitingen op de LG OLED65C54LA

Premium piekhelderheid

Het nieuwe, helderste paneel blijft voorbehouden voor de G5, de C5 is nog steeds voorzien van een OLED evo paneel met Brightness Booster. LG vermeldt officieel geen verbetering, maar we meten een iets hogere piekhelderheid op het 10%-venster, die bedraagt nu 1214 nits. Op de C4 was dat nog 1060 nits. Het volledig wit beeld haalt 195 nits, dat is onveranderd, net als het kleurbereik dat nu 98,7% P3 haalt. Toch moet je van die 20% verbetering op het kleinere testvenster geen grote impact verwachten. De C5 staat daarmee wel in de top van het helderheidsklassement in zijn categorie, hij moet enkel de Samsung S90F voorlaten. En uiteraard mag je rekenen op een prima kijkhoek, en redelijke anti-reflectie. Ons testexemplaar had ook een goede uniformiteit.

Zo worden televisies getest voor ID.nl

Voor ID.nl testen we met regelmaat televisies, maar lang niet iedereen is bekend met de gebruikte terminologie en testmethodes. Hoe televisies voor ID.nl precies worden getest, kun je in dit artikel lezen.

We schakelen naar de Filmmaker Mode om de kalibratie te beoordelen, en die blijkt al snel bijzonder goed te zijn. De SDR-weergave is uitstekend, met goed schaduwdetail, accurate kleuren en natuurlijke huidtinten. In HDR ondersteunt de LG naast HDR10 en HLG ook Dolby Vision, en die laatste beelden zijn fantastisch. Maar ook met standaard HDR10 is het resultaat bijzonder knap. De kalibratie is ook hier uitstekend, met zeer mooie kleuren en goede witnuances. In de donkerste scènes is hij iets te donker, waardoor er nuance kan ontbreken. Gelukkig kun je dat met de ‘Dark Detail’-instelling verbeteren. De optionele dynamische tonemapping voor HDR10 lieten we uitgeschakeld staan. Deze maakt het beeld helderder en dat is niet goed voor de contrastperceptie. 

Goede beeldverwerking

Met zoveel verschillende contentformaten is goede beeldverwerking erg belangrijk om elke bron optimaal weer te geven. De Alpha 9 Gen 8-processor krijgt deze taak goed voor elkaar. De ruisonderdrukking en upscaling zorgen voor mooie, scherpe beelden, zelfs als je vertrekt van relatief lage kwaliteit als dvd. De beste resultaten krijg je weliswaar als er van HD-beelden wordt uitgegaan. Voor live tv-beelden (1080i) is deinterlacing een noodzakelijke stap. Op een van onze testpatronen zagen we iets meer karteling dan gebruikelijk op een bijna horizontale lijn, maar in echte content lijkt het gelukkig toch een zeldzaam probleem. Zijn er kleurstroken zichtbaar in zachte kleurgradiënten, dan kan je die met de optie 'Vloeiende gradatie' in de laagste stand vrij goed wegwerken.

Op de G5 ging het daar soms mis, maar dat probleem zagen we hier niet. In heel lastige donkere scènes kan die strookvorming wel zichtbaar blijven. De bewegingsscherpte is uitstekend, OLED-panelen scoren hier dankzij hun snelle responstijd altijd goed. Het is een prima troef voor sport en games. Het nadeel is wel dat de typische 24fps judder in films beter zichtbaar is. Je kan Trumotion gebruiken om dat weg te werken, al blijft het een kwestie van persoonlijke smaak. In de ‘Vloeiend’ stand elimineert dat bijna alle gestotter maar zijn er mogelijk wel beeldfouten zichtbaar tegen complexe achtergronden. Beweegt de camera erg snel, dan laat de processor gemakkelijker steken vallen en stottert het beeld nog steeds. 

Dolby Atmos, maar geen DTS meer

De 2.2-kanaals 40W audioconfiguratie is overgenomen van de C4, met een belangrijk verschil. De tv ondersteunt nog steeds Dolby Atmos, maar geen DTS meer. Dat zagen we ook al op de G5. Streamingdiensten gebruiken bijna altijd Dolby Atmos, het zijn vooral de eigenaars van een eigen (Ultra HD) Blu-ray-collectie die DTS zullen missen. Heb je een externe audio-oplossing, weet dan dat ook pass-through van DTS via eARC/ARC onmogelijk is.

Je moet je speler aansluiten op bijvoorbeeld je soundbar, en het beeldsignaal doorgeven aan de tv. De C5 heeft een rijke klank met mooie balans, en is goed genoeg om van zowel film als muziek te genieten. Er is redelijk wat bas te horen, dat ondersteunt de filmervaring goed. Hoogte-effecten ontbreken wel, maar je krijgt wel wat surroundgevoel. Experimenteer met de standaard-, muziek- of bioscooppreset afhankelijk van wat je kijkt of luistert, maar blijf weg van de AI Sound-modus die veel te scherp klinkt.

WebOS 25 en een nieuwe afstandsbediening

Een negatieve trend die we merken is de opkomst van niet-content gerelateerde reclame in smart-tv's. En helaas speelt LG webOS daar duidelijk op in. Zowel op het Home-scherm als in de screensaver, als in bepaalde banners verderop tussen de aanbevelingen kun je reclame tegenkomen. Wil je dat uitschakelen, lees dan in dit artikel hoe je reclame verwijdert.

Afgezien van dat minpunt heeft webOS heel wat te bieden. Het app-aanbod is erg uitgebreid, en de tv ondersteunt Google Cast en Apple Airplay2. Quick Cards op het Home-scherm groeperen bepaalde functies, en er is een rij met favoriete apps. Beide kan je customiseren door items die je niet interesseren te verbergen (of volledig te verwijderen). In dit overzichtsartikel (weliswaar nog van webOS23) vind je alle info over webOS. Dankzij vijf jaar gegarandeerde upgrades aan de nieuwste versie, blijft het smart-tv-systeem up-to-date.

WebOS 25 op de LG OLED65C54LA

De afstandsbediening is na vele jaren volledig vernieuwd. De aanwijsfunctie is gebleven, maar de vorm en lay-out zijn volledig aangepast. LG kiest net als veel andere fabrikanten voor een eenvoudigere afstandsbediening. De afgeronde vorm heeft nu plaats gemaakt voor een meer klassieke rechthoekig remote. Daarnaast is het cijferblok verdwenen en is er gekozen voor kanteltoetsen voor volume en kanaal. Op zich niets mis mee, maar er is ook een aantal twijfelachtige keuzes gemaakt. Zo is de ingangentoets vervangen door de Thuis Hub, al kan je de ingangen wel nog bereiken door lang op die toets te duwen. De mute-toets is weg, het geluid uitzetten doe je nu door de volumeknop naar beneden gedrukt te houden. Dat is echt onhandig. De microfoon is nu gelabeled als AI, totaal overbodig. En tot slot, de meeste toetsen vereisen te veel druk om ze in te drukken. Zeker bij de ok-toets die ook een scrollwiel is, leidt dat wel eens tot foute aanslagen. 

De opnieuw ontworpen afstandsbediening van LG

Conclusie

De LG OLED65C5 bevestigt andermaal zijn plaats als een uitstekende keuze in de subtop van OLED-tv’s. De gelijkenissen met de C4 zijn aanzienlijk, en dat toestel blijft zeker ook een goede keuze. Als we de C5 een minpunt zouden moeten geven, dan is dat het overmatig gebruik van niet-content gerelateerde reclame binnen webOS. Dat is onaanvaardbaar, maar gelukkig kun je het wel uitschakelen. Het verlies van DTS-ondersteuning en het uitblijven van HDR10+ rekenen we veel minder zwaar aan. De C5 levert prachtige prestaties voor film en sport, en is rijkelijk uitgerust voor gamers. De uitstekende kalibratie brengt topbeelden binnen handbereik. WebOS biedt vijf jaar updates, heeft een ruim app-aanbod en ondersteunt Google Cast en Apple Airplay2.