-
1. Kom igång
- 1.1 Om versionshantering
- 1.2 En kort historik om Git
- 1.3 Vad är Git?
- 1.4 Kommandoraden
- 1.5 Installera Git
- 1.6 Första gången med Git
- 1.7 Få hjälp
- 1.8 Sammanfattning
-
2. Grunderna i Git
- 2.1 Att få tag i ett Git‑kodförråd
- 2.2 Spara ändringar i kodförrådet
- 2.3 Visa incheckningshistoriken
- 2.4 Ångra saker
- 2.5 Arbeta med fjärrkodförråd
- 2.6 Att tagga
- 2.7 Git-alias
- 2.8 Sammanfattning
-
3. Git-grenar
- 3.1 Grenar i korthet
- 3.2 Grundläggande gren- och sammanfogningsarbete
- 3.3 Grenhantering
- 3.4 Arbetsflöden med grenar
- 3.5 Fjärrgrenar
- 3.6 Ombasering
- 3.7 Sammanfattning
-
4. Git på servern
- 4.1 Protokollen
- 4.2 Konfigurera Git på en server
- 4.3 Generera din publika SSH-nyckel
- 4.4 Konfigurera servern
- 4.5 Git-demon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Tredjepartsalternativ
- 4.10 Sammanfattning
-
5. Distribuerat Git
-
6. GitHub
-
7. Git-verktyg
- 7.1 Revisionsurval
- 7.2 Interaktiv köläggning
- 7.3 Lägga undan och städa
- 7.4 Signera ditt arbete
- 7.5 Sökning
- 7.6 Skriva om historik
- 7.7 Nollställning förklarad
- 7.8 Avancerad sammanslagning
- 7.9 Rerere
- 7.10 Felsöka med Git
- 7.11 Undermoduler
- 7.12 Bunta
- 7.13 Ersätt
- 7.14 Lagring av inloggningsuppgifter
- 7.15 Sammanfattning
-
8. Anpassa Git
- 8.1 Git‑konfiguration
- 8.2 Git‑attribut
- 8.3 Git‑krokar
- 8.4 Ett exempel på Git‑upprätthållen policy
- 8.5 Sammanfattning
-
9. Git och andra system
- 9.1 Git som klient
- 9.2 Migrera till Git
- 9.3 Sammanfattning
-
10. Git bakom kulisserna
- 10.1 Lågnivådel och användardel
- 10.2 Git-objekt
- 10.3 Git-referenser
- 10.4 Packfiler
- 10.5 Refspecen
- 10.6 Överföringsprotokoll
- 10.7 Underhåll och dataåterställning
- 10.8 Miljövariabler
- 10.9 Sammanfattning
-
A1. Bilaga A: Git i andra miljöer
- A1.1 Grafiska gränssnitt
- A1.2 Git i Visual Studio
- A1.3 Git i Visual Studio Code
- A1.4 Git i IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git i Sublime Text
- A1.6 Git i Bash
- A1.7 Git i Zsh
- A1.8 Git i PowerShell
- A1.9 Sammanfattning
-
A2. Bilaga B: Bädda in Git i dina applikationer
- A2.1 Git på kommandoraden
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Bilaga C: Git-kommandon
- A3.1 Uppstart och konfiguration
- A3.2 Skaffa och skapa projekt
- A3.3 Grundläggande ögonblicksbilder
- A3.4 Grening och sammanslagning
- A3.5 Dela och uppdatera projekt
- A3.6 Inspektion och jämförelse
- A3.7 Felsökning
- A3.8 Patchning
- A3.9 E‑post
- A3.10 Externa system
- A3.11 Administration
- A3.12 Lågnivåkommandon
2.1 Grunderna i Git - Att få tag i ett Git‑kodförråd
Om du bara kan läsa ett kapitel för att komma igång med Git är det här det rätta. Det här kapitlet täcker de grundläggande kommandon du behöver för den stora majoriteten av det du senare kommer att göra med Git. När du är klar ska du kunna konfigurera och initiera ett kodförråd, börja och sluta spåra filer samt köa och spara ändringar. Vi visar också hur du ställer in Git för att ignorera vissa filer och mönster, hur du snabbt och enkelt ångrar misstag, hur du bläddrar i projektets historik och ser skillnader mellan versioner, samt hur du uppdaterar och skickar till fjärrkodförråd.
Att få tag i ett Git‑kodförråd
Du erhåller normalt ett Git‑kodförråd på ett av två sätt:
-
Du tar en lokal katalog som ännu inte är versionshanterad än och gör den till ett Git‑kodförråd, eller
-
Du klonar ett befintligt Git‑kodförråd från någon annanstans.
I båda fallen har du sedan ett Git‑kodförråd på din egen dator, redo för arbeta.
Initiera ett kodförråd i en befintlig katalog
Om du har en projektkatalog som inte är versionshanterad och vill börja använda Git måste du först gå till katalogen. Om du aldrig har gjort det ser det lite olika ut beroende på operativsystem:
i Linux:
$ cd /home/user/my_project
i macOS:
$ cd /Users/user/my_project
i Windows:
$ cd C:/Users/user/my_project
och skriv:
$ git init
Det här skapar en ny underkatalog som heter .git och innehåller alla nödvändiga filer – ett skelett för ditt Git‑kodförråd.
I det här läget är inget i projektet spårat.
Se Git bakom kulisserna för mer information om exakt vilka filer som finns i .git-katalogen du nyss skapade.
Om du vill börja versionshantera befintliga filer (till skillnad från en tom katalog) bör du börja spåra dem och göra en första incheckning.
Det gör du med några git add-kommandon som pekar ut de filer du vill spåra, följt av git commit:
$ git add *.c
$ git add LICENSE
$ git commit -m 'Initial project version'
Vi går igenom vad dessa kommandon gör strax. Nu har du ett Git‑kodförråd med spårade filer och en första incheckning.
Klona ett befintligt kodförråd
Om du vill ha en kopia av ett befintligt Git‑kodförråd – till exempel ett projekt du vill bidra till – använder du kommandot git clone.
Om du känner till andra VCS:er som Subversion märker du att kommandot heter "klona" och inte "utcheckning" (arbetskopia).
Det är en viktig skillnad: i stället för att bara få en arbetskopia får du en fullständig kopia av nästan all data som finns på servern.
Som standard hämtas varje version av varje fil i hela projektets historik när du kör git clone.
Om serverdisken skulle bli korrupt kan du ofta använda nästan vilken klon som helst för att återställa servern till det läge den hade när klonen togs (du kan förlora vissa serverkrokar och liknande, men all versionshanterad data finns där – se Konfigurera Git på en server för detaljer).
Du klonar ett kodförråd med git clone <url>.
Om du till exempel vill klona det Git‑länkbara biblioteket libgit2 gör du så här:
$ git clone https://github.com/libgit2/libgit2
Det skapar en katalog som heter libgit2, initierar en .git-katalog i den, hämtar all data för kodförrådet och tar ut en arbetskopia av den senaste versionen.
Om du går in i den nyss skapade libgit2-katalogen ser du projektfilerna där, redo att användas.
Om du vill klona kodförrådet till en katalog som heter något annat än libgit2 kan du ange det nya namnet som ett extra argument:
$ git clone https://github.com/libgit2/libgit2 mylibgit
Det kommandot gör samma sak som det förra, men målkatalogen heter mylibgit.
Git har flera olika överföringsprotokoll.
Exemplet ovan använder https://, men du kan också stöta på git:// eller user@server:path/to/repo.git, som använder SSH.
Konfigurera Git på en server går igenom vilka alternativ servern kan erbjuda för åtkomst till Git‑kodförråd och för- och nackdelarna med dem.