-
1. Aan de slag
- 1.1 Over versiebeheer
- 1.2 Een kort historisch overzicht van Git
- 1.3 Wat is Git?
- 1.4 De commando-regel
- 1.5 Git installeren
- 1.6 Git klaarmaken voor eerste gebruik
- 1.7 Hulp krijgen
- 1.8 Samenvatting
-
2. Git Basics
-
3. Branchen in Git
- 3.1 Branches in vogelvlucht
- 3.2 Eenvoudig branchen en mergen
- 3.3 Branch-beheer
- 3.4 Branch workflows
- 3.5 Branches op afstand (Remote branches)
- 3.6 Rebasen
- 3.7 Samenvatting
-
4. Git op de server
- 4.1 De protocollen
- 4.2 Git op een server krijgen
- 4.3 Je publieke SSH sleutel genereren
- 4.4 De server opzetten
- 4.5 Git Daemon
- 4.6 Slimme HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Hosting oplossingen van derden
- 4.10 Samenvatting
-
5. Gedistribueerd Git
-
6. GitHub
-
7. Git Tools
- 7.1 Revisie Selectie
- 7.2 Interactief stagen
- 7.3 Stashen en opschonen
- 7.4 Je werk tekenen
- 7.5 Zoeken
- 7.6 Geschiedenis herschrijven
- 7.7 Reset ontrafeld
- 7.8 Mergen voor gevorderden
- 7.9 Rerere
- 7.10 Debuggen met Git
- 7.11 Submodules
- 7.12 Bundelen
- 7.13 Vervangen
- 7.14 Het opslaan van inloggegevens
- 7.15 Samenvatting
-
8. Git aanpassen
- 8.1 Git configuratie
- 8.2 Git attributen
- 8.3 Git Hooks
- 8.4 Een voorbeeld van Git-afgedwongen beleid
- 8.5 Samenvatting
-
9. Git en andere systemen
- 9.1 Git als een client
- 9.2 Migreren naar Git
- 9.3 Samenvatting
-
10. Git Binnenwerk
- 10.1 Binnenwerk en koetswerk (plumbing and porcelain)
- 10.2 Git objecten
- 10.3 Git Referenties
- 10.4 Packfiles
- 10.5 De Refspec
- 10.6 Uitwisseling protocollen
- 10.7 Onderhoud en gegevensherstel
- 10.8 Omgevingsvariabelen
- 10.9 Samenvatting
-
A1. Bijlage A: Git in andere omgevingen
- A1.1 Grafische interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Visual Studio Code
- A1.4 Git in Eclipse
- A1.5 Git in Sublime Text
- A1.6 Git in Bash
- A1.7 Git in Zsh
- A1.8 Git in PowerShell
- A1.9 Samenvatting
-
A2. Bijlage B: Git in je applicaties inbouwen
- A2.1 Commando-regel Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Bijlage C: Git Commando’s
- A3.1 Setup en configuratie
- A3.2 Projecten ophalen en maken
- A3.3 Basic Snapshotten
- A3.4 Branchen en mergen
- A3.5 Projecten delen en bijwerken
- A3.6 Inspectie en vergelijking
- A3.7 Debuggen
- A3.8 Patchen
- A3.9 Email
- A3.10 Externe systemen
- A3.11 Beheer
- A3.12 Binnenwerk commando’s (plumbing commando’s)
A1.7 Bijlage A: Git in andere omgevingen - Git in Zsh
Git in Zsh
Git wordt ook geleverd met een library voor het voltooien van commando’s met tab voor Zsh.
Om het te gebruiken, roep je gewoon autoload -Uz compinit && compinit
aan in je .zshrc
.
De interface van zsh is een stukje krachtiger dan die van Bash:
$ git che<tab>
check-attr -- laat gitattributes informatie zien
check-ref-format -- controleer dat een referentie naam goed is samengesteld
checkout -- checkout branch of pad naar de working tree
checkout-index -- kopieer bestanden van de index naar working directory
cherry -- vind commits die nog niet stroomopwaards zijn gemerged
cherry-pick -- pas wijzigingen toe die door enkele bestaande commits zijn geintroduceerd
Tab-voltooingen die ambigue zijn worden niet alleen getoond; ze hebben behulpzame omschrijvingen, en je kunt de lijst grafisch navigeren door herhaaldelijk tab in te drukken. Dit werkt met Git commando’s, hun argumenten, en namen van zaken die zich in de repository bevinden (zoals refs en remotes), zowel als bestandsnamen en alle andere zaken waarvan Zsh weet hoe deze met de tab te voltooien.
Zsh wordt geleverd met een framework om informatie op te halen van een versie beheer systeem, genaamd vcs_info
.
Om de branchnaam rechts te tonen, voeg je deze regels toe aan je ~/.zshrc
bestand:
autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT=\$vcs_info_msg_0_
# PROMPT=\$vcs_info_msg_0_'%# '
zstyle ':vcs_info:git:*' formats '%b'
Dit resulteert in het tonen van de huidige branch aan de rechterkant van de terminal, zodra je shell in een Git repository staat. (De linkerkant wordt ook ondersteund, vanzelfsprekend; gewoon de toewijzing naar PROMPT ontcommentarieren.) Het ziet er ongeveer zo uit:
zsh
prompt.Voor meer informatie over vcs_info, kan je de documentatie bekijken
in de zshcontrib(1)
man-page,
of online op http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Version-Control-Information.
In plaats van vcs_info, heb je misschien voorkeur voor de prompt-aanpassingsscript dat met Git wordt geleverd, deze heet git-prompt.sh
; zie https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh voor details.
git-prompt.sh
is compatible met Bash en Zsh.
Zsh is krachtig genoeg dat er complete frameworks aan zijn gewijd om het beter te maken. Een van deze heet "oh-my-zsh", en deze staat op https://github.com/robbyrussell/oh-my-zsh. In het plugin systeem van oh-my-zsh zit een krachtige git tab-voltooing, en het heeft een rijke verzameling prompt "themes", en vele daarvan tonen versie-beheer gegevens. Een voorbeeld van een oh-my-zsh thema. is maar een voorbeeld van wat gedaan kan worden met dit systeem.