Hoppa till innehåll

Gits tre områden

  • Vad arbetskatalogen, staging area och repositoryt är.
  • I vilken ordning en ändring passerar dem.
  • Varför Git har ett mellansteg innan en version sparas.

Nästan allt du gör med Git handlar om att flytta ändringar mellan tre områden. När du vet vilket område en ändring ligger i blir Gits meddelanden begripliga, och det blir mycket lättare att förstå vad ett kommando faktiskt gör.

Arbetskatalogen, staging area och repositoryt. git add flyttar ändringar från arbetskatalogen till staging area. git commit sparar det som ligger i staging area som en ny version i repositoryt.

Arbetskatalogen (på engelska working directory) är mappen med dina filer, precis som du ser dem i utforskaren eller Finder. Här redigerar du som vanligt. Git lägger märke till ändringarna, men sparar dem inte av sig själv.

Staging area (ibland index) är ett förberedelseområde. Där samlar du de ändringar som ska ingå i nästa version. Tänk på det som att lägga saker i en låda innan du tejpar igen den.

Repositoryt (repository, ofta förkortat repo) är Gits samling av alla sparade versioner. Varje sparad version kallas en commit. En commit ändras aldrig i efterhand. Den finns kvar tills du själv väljer att ta bort den.

Vägen är alltid densamma:

  1. Du ändrar en fil i arbetskatalogen.
  2. Du väljer ut ändringen med git add. Nu ligger den i staging area.
  3. Du sparar med git commit. Nu finns ändringen som en ny version i repositoryt.

Säg att du har ändrat i två filer: du har lagt till en dag i resplan.txt och skrivit en anteckning i packlista.txt som du inte är klar med. Med staging area kan du spara bara ändringen i resplanen nu och vänta med packlistan:

Terminal
git add resplan.txt
git commit -m "Lägg till dag 3: Gävle"

Ändringen i packlista.txt ligger kvar i arbetskatalogen, osparad men orörd, tills du är klar med den.

1. Du har just ändrat i resplan.txt och sparat filen i din texteditor. Var finns ändringen?
Visa rätt svar
  • I arbetskatalogen: Att spara i texteditorn ändrar bara filen i arbetskatalogen. Git har inte sparat något än.
2. Vad är staging area till för?
Visa rätt svar
  • Att välja vilka ändringar som ska ingå i nästa version: Du kan spara vissa ändringar nu och vänta med andra.
3. Var lagrar Git repositoryt med alla versioner?
Visa rätt svar
  • I den dolda mappen .git i projektmappen

  • Arbetskatalogen: dina filer, som du redigerar.
  • Staging area: det som ska med i nästa version. Dit kommer ändringar med git add.
  • Repositoryt: alla sparade versioner (commits), i den dolda mappen .git. Dit kommer ändringar med git commit.