Dansk

GIT — Git

GIT Et Git-lager gennemses som en mappe: de ændrede filer, grenene, historikken.

Åbn et lager

Knappen GIT i linjen springer til favoritprojektet; dens højreklik giver listen: de kendte lagre, “Commit”, “Historik…”, grenene, “Stash…” og “Stashes”, “Tags…”, “Fjernlagre”. En mappe på disken, der endnu ikke er et lager, tilbyder der “Klon et arkiv her…”. Projekterne tilføjes af sig selv, når man går ind i dem, og et projekt, hvis mappe er forsvundet, glemmes — undtagen hvis det er dets disk, der mangler, for en frakoblet nøgle får ikke noget til at blive glemt.

En mappes tilstand

Hver linje har sin farve: i konflikt, ikke sporet, ændret, klargjort, ignoreret. En fil beskrives af git på to akser — indekset og arbejdskopien — og en linje har ikke plads til at vise begge: det er det, der er tilbage at gøre, der afgør farven. Brødkrummestien viser den aktuelle gren.

Klargøre og committe

“Commit” åbner ændringsvisningen: én fil pr. linje, kolonnen Sporet viser, hvad git ved om den. Man udpeger linjerne som alle andre steder — klik, Ctrl+klik, Skift+klik —, man skriver beskeden nederst, og Commit går af sted med det markerede. Intet markeret, intet går af sted: knappen siger det.

Knappen Ikke sporet i commit-linjen skjuler det, git ikke sporer: en mappe fuld af engangsfiler drukner ikke længere de to, man vil committe, og Ctrl+A tager dem ikke længere med. Fravalgt viser den, hvor mange den skjuler.

Visningen af et lagers ændringer: tre filer, deres sporingstilstand og commit-linjen nederst.
Lagerets ændringer og commit-linjen: beskeden, det markerede og knappen.

Se forskellene

“Vis forskellene” åbner diff'en blok for blok, mellem arbejdskopien, indekset (klargjort) og en commit — før og efter er navngivet der. En binær fil siger det i stedet for at vise støj.

Handlingerne

Grenene og historikken

Oprette en gren, skifte til den, flette — punktet bærer grenens navn og svarer intet at flette: allerede opdateret eller sammenfletning afbrudt: filer er i konflikt. “Historik…” lister commits: deres korte fingeraftryk, deres emne, deres forfatter, deres dato. Margenen til venstre tegner grafen, hver linje på sin egen, og en sammenfletning trækker sin streg mod nabokolonnen. Et dobbeltklik åbner en commits detaljer: hele dens besked og de filer, den har rørt.

Historikken for et lager: fire commits, deres emne, deres forfatter og grenenes graf i margenen.
Historikken, dens graf i margenen: to grene udgået fra samme rod og den sammenfletning, der samler dem.

Merge request-træet

Merge request-træ… i GIT-knappens menu tegner de åbne MR’er i det GitLab-projekt, som remoten peger på. Hver står under den gren, den udgår fra, rykket ét trin ind som en indholdsfortegnelse: trinnet angiver rækkefølgen for godkendelse, og et klik på et kort åbner MR’en i browseren.

Et repositorys merge request-træ: main, dets indrykkede MR’er og en kæde af tre MR’er, der udgår fra hinanden
!31 er udgået fra !28, og !35 fra !31: hver står under den, hvis commits den bærer, med »efter« og »mål main«. Knappen til højre laver checkout af grenen; fluebenet markerer main, hvor man er.

Udveksle med fjernlageret

“Pull” og “Push”, med antallet af involverede commits ved siden af teksten — nul skrives ikke. En gren, der endnu ikke findes på den anden side, sendes af sted med sin upstream. Fjernlagrene oprettes og fjernes fra samme menu. Når serveren beder om legitimationsoplysninger, beder Meneaufile om dem i sin tur i stedet for at sidde fast uden at sige noget.

Lægge til side

“Stash…” lægger det igangværende arbejde til side uden at committe det, med en valgfri beskrivelse; “Stashes” — Arbejde lagt til side — lister det, der venter, og derfra genoptager eller kasserer man. “Tags…” sætter og fjerner tags på samme måde.

Hvem har skrevet denne linje

“Linjehistorik”, i en fils menu, tilskriver hver linje til sin commit og sin forfatter. Det er det spørgsmål, man stiller sig foran en overraskende linje, og en liste over commits svarer ikke på det.

Konflikterne

En fil i konflikt åbner sig på sine versioner: den fælles version, vores, deres og det resultat, man opbygger. “Tag det hele” hælder en hel side over, “Løs” gemmer — og filen forlader kategorien i konflikt.

Klone

Fra en mappe: adressen (https://… eller git@host:org/depot.git), navnet på den mappe, der skal oprettes, og en fuld eller overfladisk historik — de N seneste commits.

Bundlerne

En .bundle-fil er et Git-lager pakket i en enkelt fil: nok til at tage et projekt med på en USB-nøgle eller give det til nogen, uden server. Et dobbeltklik viser, hvad den indeholder — dens grene, dens tags — og Klon her… gør den til et almindeligt lager ved siden af den, uden netværk. I et lager pakker Opret en bundle… i GIT-menuen hele lageret ned i mappen i den anden visning.

Hvis git mangler

Meneaufile kalder systemets git. Er det fraværende eller uden for PATH, siger det det i stedet for at fejle uden grund.

Meneaufile-manual, på dansk.