-
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
A3.5 Bilaga C: Git-kommandon - Dela och uppdatera projekt
Dela och uppdatera projekt
Det finns inte särskilt många kommandon i Git som går ut på nätet; nästan alla arbetar mot den lokala databasen. När du är redo att dela ditt arbete eller uppdatera ändringar från någon annanstans finns det bara en handfull kommandon som hanterar fjärrkodförråd.
git fetch
Kommandot git fetch kommunicerar med ett fjärrkodförråd och uppdaterar ditt akutella kodförråd med all information som finns i det kodförrådet, och lagrar den i din lokala databas.
Vi tittar först på kommandot i Uppdatera och dra från fjärrkodförråd och fortsätter att se användningsexempel i Fjärrgrenar.
Vi använder det också i flera av exemplen i Bidra till ett projekt.
Vi använder det för att uppdatera en enda specifik referens som ligger utanför standardutrymmet i Referenser för ändringsförfrågningar och vi ser hur man uppdaterar från en bunt i Bunta.
Vi sätter upp mycket anpassade refspecar för att få git fetch att göra något lite annorlunda än standarden i Refspecen.
git pull
Kommandot git pull är i grunden en kombination av kommandona git fetch och git merge, där Git uppdaterar från fjärrkodförrådet du anger och sedan omedelbart försöker sammanfoga det i grenen du står på.
Vi introducerar det kort i Uppdatera och dra från fjärrkodförråd och visar hur man ser vad det kommer att sammanfoga om du kör det i Inspektera ett fjärrkodförråd.
Vi ser också hur man använder det för att hjälpa till med ombaseringsproblem i Flytta när du flyttar.
Vi visar hur man använder det med en URL för att dra in ändringar i en engångsoperation i Checka ut fjärrgrenar.
Slutligen nämner vi mycket kort att du kan använda flaggan --verify-signatures för att verifiera att incheckningar du uppdaterar har GPG‑signerats i Signera incheckningar.
git push
Kommandot git push används för att kommunicera med ett annat kodförråd, att beräkna vad din lokala databas har som fjärrkodförrådet inte har och sedan skicka skillnaden.
Det kräver skrivåtkomst till det andra kodförrådet och autentiseras därför normalt på något sätt.
Vi tittar först på kommandot git push i Skicka till fjärrkodförråd.
Där täcker vi grunderna i att skicka en gren till ett fjärrkodförråd.
I Skicka går vi lite djupare i att skicka specifika grenar och i Spårande grenar ser vi hur man sätter upp spårningsgrenar för att automatiskt skicka till.
I Ta bort fjärrgrenar använder vi flaggan --delete för att ta bort en gren på servern med git push.
Genom hela Bidra till ett projekt ser vi flera exempel på hur man använder git push för att dela arbete på grenar via flera fjärrkodförråd.
Vi ser hur man använder det för att dela taggar som du har skapat med flaggan --tags i Dela taggar.
I Publicera ändringar i undermoduler använder vi flaggan --recurse-submodules för att kontrollera att allt arbete i våra submoduler har publicerats innan vi skickar upp superprojektet, vilket kan vara mycket användbart när man använder submoduler.
I Andra krokar på klientsidan pratar vi kort om kroken pre-push, som är ett skript vi kan sätta upp för att köras innan en uppskickning slutförs för att verifiera att den ska tillåtas.
Slutligen tittar vi i Skicka refspecar på att skicka med en full refspec i stället för de generella genvägar som normalt används. Det kan hjälpa dig att vara väldigt specifik med vilket arbete du vill dela.
git remote
Kommandot git remote är ett hanteringsverktyg för att visa dina fjärrkodförråd.
Det låter dig spara långa URL:er som korta handtag, som “origin”, så att du slipper skriva om dem hela tiden.
Du kan ha flera sådana och kommandot git remote används för att lägga till, ändra och ta bort dem.
Detta kommando täcks i detalj i Arbeta med fjärrkodförråd, inklusive att lista, lägga till, ta bort och byta namn på dem.
Det används i nästan varje efterföljande kapitel i boken också, men alltid i standardformatet git remote add <name> <url>.
git archive
Kommandot git archive används för att skapa en arkivfil av en specifik ögonblicksbild av projektet.
Vi använder git archive för att skapa en tar‑fil av ett projekt för delning i Förbereda en utgåva.
git submodule
Kommandot git submodule används för att hantera externa kodförråd inuti ett vanligt kodförråd.
Det kan handla om bibliotek eller andra typer av delade resurser.
Kommandot submodule har flera underkommandon (add, update, sync etc.) för att hantera dessa resurser.
Detta kommando nämns bara och täcks helt i Undermoduler.