#KLOOIENMETCOMPUTERS

Git, GitHub en WorkingCopy

Arnout van Kempen over rommelen in een digitale wereld.

Eenmaal aan het coderen geslagen, doemen al snel nieuwe uitdagingen op. Hoe zorg je dat al je source-code vanaf ieder apparaat waar je mee wil werken bereikbaar is, bijvoorbeeld? En wat heb je aan versie-management geregeld? Zou je met anderen aan een project willen samenwerken en hoe dan?

Het antwoord op die vragen is git. Er zijn alternatieven, maar git zit standaard al in Pi OS en het werkt ook nog eens betrekkelijk eenvoudig. De link geeft een handleiding voor kinderen en die kan ik van harte aanbevelen voor volwassenen die snel resultaat willen.

Met git verander je iedere directory die je maar wil in een 'repo'. Vanaf dat moment houdt git voor je bij welke veranderingen je hebt aangebracht in je bestanden, met name in je source-code. Als je tevreden bent met wat je gedaan hebt, kan je met een commit aan git vertellen dat je code deel uitmaakt van je project. Je kunt daar nog berichten aan toevoegen en als je wil kan je ook verschillende versies bewaren. Leuk als je een ontwikkelteam bent van dertig programmeurs, maar wat moet je daar als hobbyist mee? Niet heel veel misschien, maar het kan zomaar ineens best lekker zijn als je een domme fout ontdekt en je kan terug naar een eerdere versie.

Leuker wordt het als je je aanpassingen niet alleen commit, maar ook pusht naar bijvoorbeeld GitHub. Wat je dan doet, is je lokale repo synchroniseren met een online versie van diezelfde repo. GitHub is niet de enige mogelijkheid, maar wel een erg bekende. Door GitHub te gebruiken krijg je een paar aardige extra functionaliteiten:

  • Je repo is online opgeslagen en daarmee heb je meteen een backup.
  • Een repo kan private zijn, maar ook public. Dat betekent dat je in principe je repo kunt delen met iedereen die dat interessant vindt. Als je dat wilt, kan je anderen ook toelaten om bij te dragen aan jouw project. Wie en hoe bepaal je daarbij zelf.
  • Door de synchronisatie bij GitHub te beleggen kan je vanuit verschillende devices aan hetzelfde project werken, zonder je druk te hoeven maken over verschillende versies op verschillende devices, terwijl je toch volledig de voordelen van lokaal werken hebt.

Als team van 1 persoon vind ik GitHub+git mooi; met de iPad-apps WorkingCopy en GitHub wordt het nog wat mooier. De GitHub-app is in feite gewoon een voor de iPad geoptimaliseerde view op GitHub, maar WorkingCopy is de echt leuke app. Hiermee doe je op de iPad wat git doet in Linux. Je beheert je lokale repo en die is direct via de Files-app normaal toegankelijk alsof het een folder is. En via het hele beheersysteem van git/GitHub hou je je source-codes op de iPad gelijk aan je repo op de Pi. Dus coderen op de iPad en compileren op de Pi, zonder een centje pijn.

Gebruik GitHub om te klooien met de computer!

Wie mee wil doen met #klooienmetcomputers, maar niet alle teksten van Arnout wil overtypen, of de eigen code wil delen met andere lezers, kan dat doen via GitHub:

1. Maak een account op www.github.com

2. Zoek naar Abmvk/kmc

Het account Abmvk volgen kan ook.

Arnout plaatst daar alle stukjes code voor #klooienmetcomputers, met als naam eerst een volgnummer van het stukje waar de code bij hoort en dan een term uit de titel. Zaken die bijvoorbeeld in een config-bestand thuishoren plaatst hij als .txt bestand, wat overtypen kan besparen. Ook plaatst hij stukjes code waar hij zelf mee rommelt en die niet in een stukje op accountant.nl terechtkomen. Die stukjes zijn te herkennen omdat er geen volgnummer voor staat.

Lezers zijn vrij te gebruiken wat ze willen en om zelf zaken toe te voegen of aan te passen, vragen te stellen of commentaar te leveren. Samen kom je een eind. Om dit goed te laten werken: maak een clone van Arnout’s repo, haal met pull nieuwe bestanden binnen en voeg met push zelf toe. Wie er niet uitkomt: laat het Arnout weten.

Maar is het dan niet eenvoudiger om gewoon rechtstreeks vanaf de iPad op de Pi te werken, via Samba of Blink? Jawel, mits de Pi verbonden is. Maar wat nu als je je iPad bij je hebt en de Pi niet? Dan ga je het nut van WorkingCopy direct zien. Wat je op de iPad doet, kan je later synchroniseren met je Pi en het systeem houdt het versiebeheer in de gaten.

Overigens kan je ook vanuit de Pi weer bestanden synchroniseren naar de iPad, maar daar loop ik nog tegen een praktisch probleempje aan. En persoonlijk vind ik die optie ook nog niet heel nuttig.

Arnout van Kempen di CCO CISA is Senior manager Risk & Compliance bij Baker Tilly. Hij schrijft op persoonlijke titel. Hij is lid van de Commissie Financiƫle verslaggeving & Accountancy van de AFM en lid van de signaleringsraad van de NBA. Daarnaast is hij diaken van het bisdom 's-Hertogenbosch.

Gerelateerd

reacties

Reageren op een artikel kan tot drie maanden na plaatsing. Reageren op dit artikel is daarom niet meer mogelijk.

Aanmelden nieuwsbrief

Ontvang elke werkdag (maandag t/m vrijdag) de laatste nieuwsberichten, opinies en artikelen in uw mailbox.

Bent u NBA-lid? Dan kunt u zich ook aanmelden via uw ledenprofiel op MijnNBA.nl.