Svenska

GIT – Git

GIT Ett Git-arkiv går att bläddra i som en mapp: de ändrade filerna, grenarna, historiken.

Öppna ett arkiv

Knappen GIT i fältet hoppar till favoritprojektet; högerklick ger listan: de kända arkiven, ”Commit”, ”Historik…”, grenarna, ”Stash…” och ”Stashar”, ”Taggar…”, ”Fjärrarkiv”. En mapp på disken som ännu inte är ett arkiv erbjuder där ”Klona ett arkiv här…”. Projekten läggs till av sig själva när man går in i dem, och ett projekt vars mapp har försvunnit glöms bort – utom om det är dess disk som saknas, eftersom ett urkopplat minne inte får få något att glömmas.

Tillståndet för en mapp

Varje rad har sin färg: i konflikt, ospårad, ändrad, förberedd, ignorerad. En fil beskrivs av git på två axlar – indexet och arbetskopian – och en rad kan inte visa båda: det är det som återstår att göra som avgör färgen. Sökvägsraden visar den aktuella grenen.

Förbereda och checka in

”Commit” öppnar vyn med ändringarna: en fil per rad, kolumnen Spårad visar vad git vet om den. Man pekar ut raderna som överallt annars – klick, Ctrl+klick, Skift+klick –, skriver meddelandet längst ned, och Commit går iväg med det som är markerat. Inget markerat, inget går iväg: knappen säger det.

Knappen Ospårade i commit-fältet döljer det git inte spårar: en mapp full av slängfiler dränker inte längre de två man vill committa, och Ctrl+A tar inte längre med dem. Avmarkerad visar den hur många den döljer.

Vyn med ändringarna i ett arkiv: tre filer, deras spårningsstatus och commit-fältet längst ned.
Arkivets ändringar och commit-fältet: meddelandet, det som är markerat och knappen.

Se skillnaderna

”Visa skillnaderna” öppnar diffen block för block, mellan arbetskopian, indexet (förberedd) och en commit – före och efter namnges där. En binärfil säger det i stället för att visa brus.

Handgreppen

Grenarna och historiken

Skapa en gren, byta till den, slå ihop – posten bär grenens namn, och svarar inget att slå ihop: redan aktuellt eller sammanslagningen stoppades: vissa filer är i konflikt. ”Historik…” listar commitarna: deras korta avtryck, deras rubrik, deras upphovsperson, deras datum. Den vänstra marginalen ritar grafen, varje rad på sin egen, och en sammanslagning drar sin linje mot den angränsande kolumnen. Ett dubbelklick öppnar detaljerna för en commit: hela dess meddelande och de filer den har berört.

Historiken för ett arkiv: fyra commits, deras rubrik, deras upphovsperson och grafen över grenarna i marginalen.
Historiken, med grafen i marginalen: två grenar som utgår från samma rot, och sammanslagningen som för ihop dem.

Merge request-trädet

Merge request-träd… i GIT-knappens meny ritar de öppna MR:erna i GitLab-projektet som fjärrförrådet pekar på. Var och en står under grenen den utgår från, indragen ett steg som en innehållsförteckning: steget anger i vilken ordning de ska godkännas, och ett klick på ett kort öppnar MR:en i webbläsaren.

Ett förråds merge request-träd: main, dess indragna MR:er och en kedja av tre MR:er som utgår från varandra
!31 utgick från !28, och !35 från !31: var och en står under den vars commits den bär, med ”efter” och ”mål main”. Knappen till höger gör checkout av grenen; bocken markerar main, där du är.

Utbyta med fjärrarkivet

”Pull” och ”Push”, med antalet commits som berörs bredvid etiketten – noll skrivs inte. En gren som ännu inte finns på andra sidan går iväg med sin uppströmsgren. Fjärrarkiven anges och tas bort från samma meny. När servern ber om inloggningsuppgifter ber Meneaufile i sin tur om dem i stället för att sitta fast utan ett ord.

Lägga åt sidan

”Stash…” lägger det pågående arbetet åt sidan utan att checka in det, med en frivillig beskrivning; ”Stashar” – Undanlagt arbete – listar det som väntar, och därifrån återupptar eller kastar man. ”Taggar…” sätter och tar bort taggar på samma sätt.

Vem som skrev den här raden

”Radhistorik”, i en fils meny, tillskriver varje rad dess commit och dess upphovsperson. Det är frågan man ställer inför en oväntad rad, och en lista med commits svarar inte på den.

Konflikterna

En fil i konflikt öppnas på sina versioner: den gemensamma versionen, vår, deras, och det resultat man bygger. ”Ta allt” tar över en hel sida, ”Lös” sparar – och filen lämnar kategorin i konflikt.

Klona

Från en mapp: adressen (https://… eller git@värd:org/arkiv.git), namnet på mappen som ska skapas, och en fullständig eller grund historik – de N senaste commitarna.

Bundlarna

En .bundle-fil är ett Git-arkiv packat i en enda fil: nog för att ta med ett projekt på ett USB-minne, eller ge det till någon, utan server. Ett dubbelklick visar vad den innehåller – dess grenar, dess taggar – och Klona här… gör den till ett vanligt arkiv, bredvid den, utan nätverk. I ett arkiv packar Skapa en bundle… i GIT-menyn hela arkivet i mappen i den andra vyn.

Om git saknas

Meneaufile anropar systemets git. Saknas det eller ligger utanför PATH säger programmet det i stället för att misslyckas utan anledning.

Meneaufile-manualen, på svenska.