-
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
3.3 Git förgreningar - Hantera grenar
Hantera grenar
Nu när du skapat, slagit ihop, och tagit bort grenar så skall vi kolla på lite grenhanteringsverktyg som kommer väl till pass när du börjar använda grenar hela tiden.
Kommandot git branch
gör mer än att bara skapa och ta bort grenar.
Om du kör det utan argument, så får du en lista över dina aktuella grenar:
$ git branch
iss53
* master
testing
Notera symbolen *
som står före master
-grenen: den indikerar vilken gren du just nu har utcheckad (d.v.s. den gren som HEAD
pekar på).
Detta betyder att om du sparar en version nu, så är det master
-grenen som kommer flyttas framåt med ditt nya arbete.
För att se den senaste versionen på varje gren kan du köra git branch -v
:
$ git branch -v
iss53 93b412c fix javascript issue
* master 7a98805 Merge branch 'iss53'
testing 782fd34 add scott to the author list in the readmes
De användbara växlarna --merged
och --no-merged
kan filtrera listan så att endast grenar som du har eller inte har slagit ihop med den gren du just nu står på.
För att se vilka grenar som redan är sammanslagna med den gren du nu står på kan du köra git branch --merged
:
$ git branch --merged
iss53
* master
Eftersom du redan slagit samman iss53
tidigare, så ser du den i listan.
Grenar på denna listan utan *
framför, är generellt set helt ok att ta bort med git branch -d
eftersom du redan inkorporerat arbetet i dem i en annan gren, så du kommer inte att förlora något.
För att se alla grenar som innehåller arbete du inte har slagit ihop, kan du köra git branch --no-merged
:
$ git branch --no-merged
testing
Detta visar din andra gren.
Eftersom den innehåller arbete som inte är sammanslaget ännu, kommer du inte kunna ta bort den med git branch -d
:
$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.
Om du verkligen vill ta bort grenen och förlora arbetet i den, kan du tvinga git att ta bort den med -D
som felmeddelandet föreslår.
Tips
|
Växlarna Du kan alltid ge extra argument för att fråga om sammanslagningstillstånd gentemot en annan gren utan att först checka ut den grenen, som t.ex. vad är inte sammanslaget i
|