Nederlands

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 weergave van de wijzigingen van een repository: drie bestanden, hun volgstatus, en de commitbalk onderaan.
De wijzigingen van de repository, en de commitbalk: het bericht, wat is geselecteerd, en de knop.

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

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 geschiedenis van een repository: vier commits, hun onderwerp, hun auteur, en de grafiek van de branches in de goot.
De geschiedenis, haar grafiek in de goot: twee branches vanuit dezelfde wortel, en de samenvoeging die ze verbindt.

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 merge-requestboom van een repository: main, zijn ingesprongen MR’s en een keten van drie van elkaar afgetakte MR’s
!31 is van !28 afgetakt, en !35 van !31: elk staat onder degene waarvan hij de commits draagt, met ‘na’ en ‘doel main’. De knop rechts doet de checkout van de branch; het vinkje markeert 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.