-
1. Démarrage rapide
-
2. Les bases de Git
-
3. Les branches avec Git
-
4. Git sur le serveur
- 4.1 Protocoles
- 4.2 Installation de Git sur un serveur
- 4.3 Génération des clés publiques SSH
- 4.4 Mise en place du serveur
- 4.5 Démon (Daemon) Git
- 4.6 HTTP intelligent
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Git hébergé
- 4.10 Résumé
-
5. Git distribué
-
6. GitHub
-
7. Utilitaires Git
- 7.1 Sélection des versions
- 7.2 Indexation interactive
- 7.3 Remisage et nettoyage
- 7.4 Signer votre travail
- 7.5 Recherche
- 7.6 Réécrire l’historique
- 7.7 Reset démystifié
- 7.8 Fusion avancée
- 7.9 Rerere
- 7.10 Déboguer avec Git
- 7.11 Sous-modules
- 7.12 Empaquetage (bundling)
- 7.13 Replace
- 7.14 Stockage des identifiants
- 7.15 Résumé
-
8. Personnalisation de Git
- 8.1 Configuration de Git
- 8.2 Attributs Git
- 8.3 Crochets Git
- 8.4 Exemple de politique gérée par Git
- 8.5 Résumé
-
9. Git et les autres systèmes
- 9.1 Git comme client
- 9.2 Migration vers Git
- 9.3 Résumé
-
10. Les tripes de Git
- 10.1 Plomberie et porcelaine
- 10.2 Les objets de Git
- 10.3 Références Git
- 10.4 Fichiers groupés
- 10.5 La refspec
- 10.6 Les protocoles de transfert
- 10.7 Maintenance et récupération de données
- 10.8 Les variables d’environnement
- 10.9 Résumé
-
A1. Annexe A: Git dans d’autres environnements
- A1.1 Interfaces graphiques
- A1.2 Git dans Visual Studio
- A1.3 Git dans Visual Studio Code
- A1.4 Git dans IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git dans Sublime Text
- A1.6 Git dans Bash
- A1.7 Git dans Zsh
- A1.8 Git dans PowerShell
- A1.9 Résumé
-
A2. Annexe B: Embarquer Git dans vos applications
- A2.1 Git en ligne de commande
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Commandes Git
- A3.1 Installation et configuration
- A3.2 Obtention et création des projets
- A3.3 Capture d’instantané basique
- A3.4 Création de branches et fusion
- A3.5 Partage et mise à jour de projets
- A3.6 Inspection et comparaison
- A3.7 Débogage
- A3.8 Patchs
- A3.9 Courriel
- A3.10 Systèmes externes
- A3.11 Administration
- A3.12 Commandes de plomberie
A1.7 Annexe A: Git dans d’autres environnements - Git dans Zsh
Git dans Zsh
Git est aussi livré avec une bibliothèque d’achèvement sur tabulation pour Zsh.
Pour l’utiliser, lancez simplement autoload -Uz compinit && compinit
dans votre .zshrc
.
L’interface de Zsh est un peu plus puissante que celle de Bash :
$ git che<tab>
check-attr -- display gitattributes information
check-ref-format -- ensure that a reference name is well formed
checkout -- checkout branch or paths to working tree
checkout-index -- copy files from index to working directory
cherry -- find commits not merged upstream
cherry-pick -- apply changes introduced by some existing commits
Les achèvements possibles ne sont pas seulement listés ; ils sont complétés par des descriptions utiles et vous pouvez naviguer graphiquement dans la liste en répétant tab de manière répétée. Ceci fonctionne avec les commandes Git, les arguments et les noms des choses dans le dépôt (telles que les références et les serveurs distants), ainsi que les noms de fichiers et les autres choses que Zsh sait achever.
Zsh est livré avec un système pour récupérer de l’information depuis les systèmes de gestion de version, appelé vcs_info
.
Pour inclure le nom de la branche sur la partie droite, ajoutez ces lignes à votre fichier ~/.zshrc
:
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'
Cela aboutit à un affichage de la branche actuelle sur le côté droit de la fenêtre de terminal quand votre invite est dans un répertoire Git. Le côté gauche est aussi géré, bien sur ; décommentez simplement l’assignation de PROMPT. Cela ressemble à :
![L’invite `zsh` personnalisée.](png/zsh-prompt.png)
zsh
personnalisée.Pour plus d’information sur vcs_info
, reportez-vous à sa documentation dans la page de manuel de zshcontrib(1)
, ou en ligne sur https://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Version-Control-Information.
Au lieu de vcs_info
, vous préférerez peut-être le script de personnalisation de l’invite qui est livré avec Git, appelé git-prompt.sh
. Référez-vous à https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh pour plus de détails.
git-prompt.sh
est compatible avec Bash et Zsh.
Zsh est assez puissant pour qu’il existe des extensions complètes pour le rendre encore meilleur. Une d’entre elles s’appelle "oh-my-zsh" et on peut la trouver sur https://github.com/robbyrussell/oh-my-zsh. Le système de greffons de oh-my-zsh est doté d’un achèvement sur tabulation pour git puissant et dispose d’une série de thèmes d’invites, dont de nombreux affichent l’information de gestion de version. Un exemple d’un thème oh-my-zsh. n’est qu’un exemple de ce qui peut être fait avec ce système.
![Un exemple d’un thème oh-my-zsh.](png/zsh-oh-my.png)