-
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. Git dans d’autres environnements
- A1.1 Interfaces graphiques
- A1.2 Git dans Visual Studio
- A1.3 Git dans Eclipse
- A1.4 Git dans Bash
- A1.5 Git dans Zsh
- A1.6 Git dans Powershell
- A1.7 Résumé
-
A2. Embarquer Git dans vos applications
- A2.1 Git en ligne de commande
- A2.2 Libgit2
- A2.3 JGit
-
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.6 Git dans d’autres environnements - Git dans Powershell
Git dans Powershell
Le terminal de ligne de commande ancestral sous Windows (cmd.exe
) n’est pas vraiment capable de fournir une expérience de Git personnalisée, mais si vous utilisez Powershell, vous avez de la chance.
Cela marche aussi si vous utilisez PowerShell sous une plateforme non Windows comme Debian.
Un paquetage appelé Posh-Git (https://github.com/dahlbyk/posh-git) fournit un système de complétion automatique, ainsi qu’une invite améliorée pour vous aider à rester informé de l’état de votre dépôt.
Elle ressemble à ceci :

Installation
Prérequis (Windows seulement)
Avant de pouvoir lancer des scripts PowerShell sur votre machine, vous devez définir votre ExecutionPolicy locale à RemoteSigned (en gros tout sauf Undefined et Restricted). Si vous choisissez AllSigned au lieu de RemoteSigned, même les scripts locaux (les vôtres) devront être signés numériquement pour pouvoir être exécutés. Avec RemoteSigned, seuls les scripts ayant le "ZoneIdentifier" défini à Internet (téléchargés depuis le web) devront être signés, pas les autres. Si vous êtes un administrateur et que vous voulez la définir pour tous les utilisateurs de cette machine, utilisez "-Scope LocalMachine". Si vous êtes un utilisateur normal sans les privilèges administrateur, vous pouvez utiliser "-Scope CurrentUser" pour ne la définir que pour vous.
Plus d’informations sur les portées (Scopes) PowerShell : https://docs.microsoft.com/fr-fr/powershell/module/microsoft.powershell.core/about/about_scopes.
Plus d’informations sur la politique d’exécution (ExecutionPolicy) PowerShell : https://docs.microsoft.com/fr-fr/powershell/module/microsoft.powershell.security/set-executionpolicy.
> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned -Force
PowerShell Gallery
Si vous avez au moins PowerShell 4 ou Powershell 5 avec PackageManagement installé, vous pouvez utiliser le gestionnaire de paquets pour obtenir Posh-Git.
Plus d’informations sur PowerShell Gallery : https://docs.microsoft.com/fr-fr/powershell/gallery/overview.
> Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
> Update-Module PowerShellGet -Force
> Install-Module Posh-Git -Scope AllUsers
Si vous voulez installer Posh-Git seulement pour l’utilisateur courant et non globalement, utilisez "-Scope CurrentUser" à la place.
Si la deuxième commande échoue avec une erreur comme Module 'PowershellGet' was not installed by using Install-Module
, vous devrez d’abord lancer une autre commande :
> Install-Module PowerShellGet -Force -SkipPublisherCheck
Maintenant vous pouvez y retourner et recommencer. Cela arrive parce que les modules qui viennent avec Windows PowerShell sont signés avec un certificat de publication différent.
Mise à jour du terminal PowerShell
Pour inclure les informations git dans le terminal, posh-git doit être importé. Pour faire cela automatiquement, incluez l’instruction d’import dans votre script $profile. Ce script est exécuté chaque fois que vous ouvrez un nouveau terminal PowerShell. Gardez en tête qu’il y a de multiples scripts $profile. Par exemple, un pour le terminal et un autre séparé pour l’environnement de script intégré (ISE, Integrated Scripting Environment).
> New-Item -Name $(Split-Path -Path $profile) -ItemType Directory -Force
> 'Import-Module Posh-Git' | Out-File -Append -Encoding default -FilePath $profile
Depuis les sources
Téléchargez une version Posh-Git depuis https://github.com/dahlbyk/posh-git et décompressez-la dans le dossier WindowsPowerShell
.
Puis ouvrez un terminal PowerShell en tant qu’administrateur et saisissez ceci :
> cd ~\Documents\WindowsPowerShell\Module\posh-git
> .\install.ps1
Cela ajoutera la bonne ligne à votre fichier profile.ps1
et posh-git sera actif la prochaine fois que vous ouvrirez votre terminal.