-
1. Kom igång
- 1.1 Om versionshantering
- 1.2 En kort historik av Git
- 1.3 Vad är Git?
- 1.4 Kommandoraden
- 1.5 Installera Git
- 1.6 Använda Git för första gången
- 1.7 Få hjälp
- 1.8 Sammanfattning
-
2. Grunder i Git
- 2.1 Skaffa ett Git-förvar
- 2.2 Spara ändringar till förvaret
- 2.3 Visa historiken
- 2.4 Ångra saker
- 2.5 Jobba med fjärrförvar
- 2.6 Taggning
- 2.7 Git alias
- 2.8 Sammanfattning
-
3. Git förgreningar
- 3.1 Grenar i ett nötskal
- 3.2 Grundläggande förgrening och sammanslagning
- 3.3 Hantera grenar
- 3.4 Arbetsflöde med grenar
- 3.5 Fjärrgrenar
- 3.6 Grenflytt
- 3.7 Sammanfattning
-
4. Git på servern
- 4.1 Protokollen
- 4.2 Skaffa Git på en server
- 4.3 Generera din publika SSH-nyckel
- 4.4 Konvigurera servern
- 4.5 Git Daemonen
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Alternativ tillhandahållna av tredje part
- 4.10 Sammanfattning
-
5. Distribuerade Git
-
6. GitHub
-
7. Git Tools
- 7.1 Revision Selection
- 7.2 Interactive Staging
- 7.3 Stashing and Cleaning
- 7.4 Signing Your Work
- 7.5 Searching
- 7.6 Rewriting History
- 7.7 Reset Demystified
- 7.8 Advanced Merging
- 7.9 Rerere
- 7.10 Debugging with Git
- 7.11 Submodules
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 Summary
-
8. Customizing Git
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Summary
-
9. Git and Other Systems
- 9.1 Git as a Client
- 9.2 Migrating to Git
- 9.3 Summary
-
10. Git Internals
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Environment Variables
- 10.9 Summary
-
A1. Bilaga A: Git in Other Environments
- A1.1 Graphical Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Eclipse
- A1.4 Git in Bash
- A1.5 Git in Zsh
- A1.6 Git in PowerShell
- A1.7 Summary
-
A2. Bilaga B: Embedding Git in your Applications
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Bilaga C: Git Commands
- A3.1 Setup and Config
- A3.2 Getting and Creating Projects
- A3.3 Basic Snapshotting
- A3.4 Branching and Merging
- A3.5 Sharing and Updating Projects
- A3.6 Inspection and Comparison
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Plumbing Commands
1.6 Kom igång - Använda Git för första gången
Använda Git för första gången
Nu när du har Git på ditt system, så ska du göra en del saker för att skräddarsy din Git-miljö. Du behöver endast göra detta en gång på de datorer du använder; de kommer att bevaras vid uppdateringar. Du kan också ändra dem när som helst, genom att köra samma kommandon igen.
Git kommer med ett verktyg som kallas git config
som låter dig visa och definiera konfigurationsvariabler som hanterar alla aspekter av hur Git ser ut och hur det utför saker och ting.
Dessa variabler kan lagras på tre olika ställen:
-
Filen
/etc/gitconfig
: Innehåller värden som tillämpas för varje användare på systemet i fråga, och alla förvar. Om du ger flaggan--system
tillgit config
, läses och skrivs det till denna filen specifikt. (Eftersom detta är en systemkonfigurationsfil, behöver du administrativa behörigheter eller vara superuser för att ändra den.) -
Filen
~/.gitconfig
eller~/.config/git/config
: Värden specifika för dig, användaren. Du klan få Git att läsa och skriva specifikt till denna filen genom att ge flaggan--global
och detta påverkar alla förvar som du arbetar med på ditt system. -
Filen
config
i Gitkatalogen (dvs..git/config
) i vilket förvar du för närvarande står i: Specifikt för detta enstaka förvar. Du kan tvinga Git att läsa och skriva specifikt till denna fil med flaggan--local
, men detta är standard. (Föga överraskande behöver du vara någonstans i ett Gitrepository för att denna flagga skall fungera korrekt.)
Varje nivå åsidosätter värden i föregående nivå, så värden i .git/config
trumfar de i /etc/gitconfig
.
På Windowssystem kollar Git efter .gitconfig
i $HOME
-katalogen (C:\Users\$USER
för de flesta).
Den letarn fortfarande efter /etc/gitconfig
, men det är relativt roten MSys, vilket är var du väljer att installera Git på ditt Windowssystem när du kör installationsprogrammet.
Om du använder version 2.x eller senare av Git för windows, finns det även en systemnivåkonfigurationsfil belägen på C:\Documents and Settings\All Users\Application Data\Git\config
för Windows XP och på C:\ProgramData\Git\config
i Windows Vista och senare.
Denna konfigurationsfil kan bara ändras genom git config -f <fil>
som administratör.
Din identitet
Det första du skall göra när du installerar Git är att sätta ditt användarnamn och en e-postadress. Detta är viktigt eftersom varje sparade version använder denna information och den är oföränderligt inbakad i de versioner du skapar:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
Återigen, du behöver bara göra detta en gång om du ger flaggan --global
, eftersom Git alltid kommer att använda den informationen för allt du gör på det systemet.
Om du vill åsidosätta detta med ett annat namn eller en e-postadress för specifika projekt, kan du köra kommandot utan flaggan --global
när du står i det projektet.
Många av de grafiska verktygen kommer att hjälpa dig med detta första gången du kör dem.
Din editor
Nu när din identitet är inställd kan du konfigurarera vilken textredigerare Git skall använda som standard när du skall skriva in ett meddelande. Om du inte gör det, kommer Git att använda systemets standardredigerare.
Om du vill använda en annan textredigerare, t.ex. Emacs, kan du göra följande:
$ git config --global core.editor emacs
På ett Windowssystem måste du specificera den fullständiga sökvägen till den körbara filen för att använda en annan textredigerare. Detta kan vara olika beroende på hur din editor är packeterad.
För Notepad++, en populär textredigerare i programmeringssammanhang, är det troligt att du vill använda 32-bitarsversionen, då 64-bitarsversionen i skrivande stund inte har stöd för alla plugin. Om du är på ett 32-bitarssystem eller har en 64-bitars textredigerare på ett 64-bitarssystem skriver du något i stil med:
$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -nosession"
Om du har en 32-bitars textredigerare på ett 64-bitarssystem kommer programmen installeras i C:\Program Files (x86)
:
$ git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -nosession"
Notera
|
Vim, Emacs och Notepad++ är populära textredigerare som ofta används av utvecklare på Unixbaserade system som Linux och macOS eller ett Windowssystem. Är du inte bekant med dessa textredigerare kan du behöva söka efter specifika instruktioner för hur du ställer in din favorittextredigerare med Git. |
Varning
|
Om du inte ställer in din textredigeraren på dessa sätt kan du hamna i ett förvirrande läge när Git försöker starta textredigeraren. Ett exempel i ett Windowssystem kan inkludera en i förtid avslutad Gitoperation under en Gitinitierad redigering. |
Kontrollera dina inställningar
Om du vill kontrollera dina konfigurationsinställningar kan du använda kommandot git config --list
för att lista alla inställningar Git kan hitta för närvarande:
$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
Du kan se nycklar mer än än gång, eftersom Git läser nycklarna från olika filer (/etc/gitconfig
och ~/.gitconfig
, till exampel).
I dessa fallen använder Git det senaste värdet för varje unik nyckel den ser.
Du kan också kontrollera vad Git tycker att en specifik nyckels värde är genom att skriva git config <key>
:
$ git config user.name
John Doe
Notera
|
Eftersom Git kan läsa samma konfigurationsvariabel från mer än en fil är det möjligt att du kan få ett oväntat värde för en av dessa värden utan att du vet varför. Vid sådana tillfällen kan du fråga Git varifrån värdet härstammar och Git talar då om vilken konfigurationsfil som hade det sista ordet när det gällde att sätta värdet: |
$ git config --show-origin rerere.autoUpdate
file:/home/johndoe/.gitconfig false