GIT — Git
GIT Een Git-repository wordt doorbladerd als een map: de gewijzigde bestanden, de branches, de geschiedenis.
Een repository openen
De knop GIT in de balk springt naar het favoriete project; zijn rechtermuisknop geeft de lijst: de bekende repositories, „Commit…”, „Geschiedenis…”, de branches, „Stash…” en „Stashes”, „Tags…”, „Remotes”. Een map op de schijf die nog geen repository is, biedt er „Hier een repository klonen…” aan. De projecten worden vanzelf toegevoegd wanneer u erin gaat, en een project waarvan de map is verdwenen wordt vergeten — behalve als het zijn schijf is die ontbreekt: een losgekoppelde stick doet niets vergeten.
De status van een map
Elke regel draagt haar kleur: conflicterend, niet gevolgd, gewijzigd, klaargezet, genegeerd. Een bestand wordt door git beschreven op twee assen — de index en de werkkopie — en een regel kan niet beide tonen: het is wat er nog te doen valt dat de kleur bepaalt. Het kruimelpad zegt de huidige branch.
Klaarzetten en committen
„Commit…” opent de weergave van de wijzigingen: één bestand per regel, de kolom Gevolgd die zegt wat git ervan weet. U wijst de regels aan als overal elders — klik, Ctrl+klik, Shift+klik —, u schrijft het bericht onderaan, en Commit vertrekt met wat is geselecteerd. Niets geselecteerd, niets vertrekt: de knop zegt het.
De knop Niet gevolgd in de commitbalk verbergt wat git niet volgt: een map vol wegwerpbestanden overstemt de twee die u wilt committen niet meer, en Ctrl+A neemt ze niet meer mee. Uitgevinkt toont hij hoeveel hij verbergt.

De verschillen bekijken
„Verschillen tonen” opent de diff blok voor blok, tussen de werkkopie, de index (klaargezet) en een commit — vóór en na worden er genoemd. Een binair bestand zegt het liever dan ruis te tonen.
De handelingen
- Commit met zijn bericht.
- Negeren: het bestand komt in de
.gitignore. - Terugdraaien: het venster zegt hoeveel nieuwe bestanden van de schijf vertrekken en hoeveel hun staat uit de repository terugkrijgen. Het niet-gecommitte werk is verloren — het staat er.
- Kopiëren › klembord: een regel van de wijzigingen is een bestand op de schijf, en wordt als zodanig gekopieerd — om het elders te plakken, ook buiten Meneaufile. Niet knippen en niet plakken: de lijst wordt door git samengesteld, u haalt er geen regel uit en schrijft er niets in.
- Op zijn locatie openen: het bestand staat elders dan zijn regel — die leeft in de lijst, het in de werkkopie, waar u het bewerkt. Daarheen leidt het item.
De branches en de geschiedenis
Een branch maken, erop overschakelen, samenvoegen — het item draagt de naam van de branch, en antwoordt niets samen te voegen: al bij of samenvoegen gestopt: sommige bestanden botsen. „Geschiedenis…” somt de commits op: hun korte vingerafdruk, hun onderwerp, hun auteur, hun datum. De goot links tekent de grafiek, elke regel op de zijne, en een samenvoeging trekt haar lijn naar de naburige kolom. Een dubbelklik opent het detail van een commit: zijn volledige bericht en de bestanden die hij heeft geraakt.

De merge-requestboom
Merge-requestboom… in het menu van de GIT-knop tekent de open MR’s van het GitLab-project waar de remote naar wijst. Elke MR staat onder de branch waar hij van uitgaat, één stap ingesprongen zoals een inhoudsopgave: de stap geeft de volgorde van goedkeuren aan, en een klik op een kaart opent de MR in de browser.
- De oorsprong wordt uit de commits gelezen. Een MR die van een andere is afgetakt, staat eronder, ook als beide op
mainmikken: ‘na !28’ zegt welke eerst goed te keuren, en ‘doel main’ waarschuwt dat hij nog opmainmikt — hem eerst mergen zou de commits van de andere meenemen. - De badges tonen de status volgens GitLab: concept, conflicten, rebase nodig, goedkeuring nodig, open discussies, pipeline bezig, klaar.
- De knop Checkout, rechtsboven op elke kaart, zet de werkkopie op de branch van de MR, om hem te proberen of na te lezen voor je hem goedkeurt. De branch wordt eerst van de server opgehaald; lopend werk kan worden weggezet, zoals bij elke branchwissel. Een vinkje markeert de branch waarop je al staat.
- Het persoonlijke toegangstoken, met het recht
read_api, maak je aan in GitLab: User settings › Access › Personal access tokens › Generate token. Meneaufile vraagt er één keer om en bewaart het in de kluis, in een eigen fiche; een NET-fiche met het accountwachtwoord wordt niet voor een token aangezien.

main, waar je staat.Uitwisselen met de externe repository
„Pull” en „Push”, met het aantal commits in het spel naast het label — de nul wordt niet geschreven. Een branch die er nog niet tegenover bestaat, vertrekt met zijn upstream. De externe repositories worden opgegeven en verwijderd vanuit hetzelfde menu. Wanneer de server om inloggegevens vraagt, vraagt Meneaufile er op zijn beurt om in plaats van zwijgend vast te lopen.
Opzijzetten
„Stash…” bergt het lopende werk op zonder te committen, met een optionele beschrijving; „Stashes” — Opzijgezet werk — somt op wat wacht, en van daaruit hervat of verwerpt u. „Tags…” plaatst en verwijdert er op dezelfde manier.
Wie deze regel heeft geschreven
„Regelherkomst”, in het menu van een bestand, wijst elke regel toe aan zijn commit en zijn auteur. Dat is de vraag die u zich stelt bij een verrassende regel, en een lijst met commits beantwoordt haar niet.
De conflicten
Een bestand in conflict opent met zijn versies: de Gemeenschappelijke versie, De onze, De hunne, en het Resultaat dat u opbouwt. „Alles nemen” giet een hele kant over, „Oplossen” slaat op — en het bestand verlaat de categorie Conflicterend.
Klonen
Vanuit een map: het adres
(https://… of git@host:org/repo.git), de naam van de te
maken map, en een volledige of oppervlakkige geschiedenis — de laatste N commits.
De bundles
Een .bundle-bestand is een Git-repository verpakt in één enkel bestand:
genoeg om een project op een stick mee te nemen, of aan iemand door te geven, zonder
server. Een dubbelklik toont wat het bevat — zijn branches, zijn tags — en
Hier klonen… maakt er een gewone repository van, ernaast, zonder
netwerk. In een repository verpakt Een bundle maken… in het menu
van GIT de hele repository in de map van de andere weergave.
Als git ontbreekt
Meneaufile roept de git van het systeem aan. Afwezig of buiten het PATH, dan
zegt het dat in plaats van zonder reden te falen.
Handleiding van Meneaufile, in het Nederlands.