-
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.8 Annexe A: 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 :
![PowerShell avec Posh-git.](png/posh-git.png)
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.
Pour régler la valeur de ExecutionPolicy
à RemoteSigned
pour tous les utilisateurs, utilisez la commande suivante :
> 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/en-us/powershell/scripting/gallery/overview.
> Install-Module posh-git -Scope CurrentUser -Force
> Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force # Newer beta version with PowerShell Core support
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 que posh-git soit importé à chaque démarrage de PowerShell, exécutez la commande `Add-PoshGitToProfile
qui ajoute la commande 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).
> Import-Module posh-git
> Add-PoshGitToProfile -AllHosts
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 importez le module en utilisant le chemin complet vers le fichier posh-git.psd1
:
> Import-Module <path-to-uncompress-folder>\src\posh-git.psd1
> Add-PoshGitToProfile -AllHosts
Cela ajoutera la bonne ligne à votre fichier profile.ps1
et posh-git sera actif la prochaine fois que vous ouvrirez votre terminal.
Pour une description de l’information de résumé de l’état Git dans l’invite, reportez-vous à https://github.com/dahlbyk/posh-git/blob/master/README.md#git-status-summary-information. Pour de plus amples détails sur la personnalisation du votre invite posh-git, reportez-vous à https://github.com/dahlbyk/posh-git/blob/master/README.md#customization-variables.