Windows : Git sous PowerShell

Utilisation de Git avec PowerShell sous Windows 10

Dans ce tutoriel on va voir, comment installer Git sur le Windows 10 et l’exécuter à partir d’une ligne de commande PowerShell.

MENU :

  1. Installer Git
  2. Ajuster les raccourcis installés
  3. Configurer une simple fenêtre de commande Git PowerShell
  4. Obtenez du sucre CLI utile avec Posh-Git
  5. ssh-agent
  6. Autres réglages

I. Installer Git

  • Sur les systèmes modernes tel que Windows, le meilleur moyen d’obtenir Git est d’utiliser les programmes d’installation produits par le projet Git pour Windows .

[Téléchargez le kit d’installation à partir de] :

https://git-for-windows.github.io/ .

Cela téléchargera le programme d’installation de la dernière version et installera un logiciel 64 bits.  

  • Il est important, exécuter le programme d’installation “en tant qu’administrateur”  

Clique  droit sur le fichier téléchargé Git-2.*-64bit.zip →  choisir →”exécuter autant qu’administrateur”.

Utiliser Git sur Powershel 1 instalation

Sélectionner chemin d’installation 

  •  Si le chemin d’installation n’est pas “Program Files"v, vous n’avez probablement pas exécuté le programme d’installation avec des privilèges élevés .
  • Cliquez sur  Suivant” .


Sélectionner des composants

  • Sélectionnez  des composants à installer.
  • Pour de minimiser l’impact sur le système et pour  d’exécuter Git que à partir d’une ligne de commande PowerShell, il est recommandé de coché  uniquement le “Git LFS” (Large File Support).

Dans mon cas, j’ai aussi choisi d’associer le fichier Git, et aussi créer raccourcis sur le bureau.

Powershell + Git + Select Components

Sélectionner chemin  d’installation

  • Laissez l’e chemin  par défaut





Choix du backend de transport HTTP

  • Choisissez un magasin approuvé pour les autorités de certification TLS. Sauf si vous savez que vous avez besoin du kit OpenSSL CA, sélectionnez: “Use the native Windows Secure Channel library”.

Utilisez la bibliothèque native Windows Secure Channel → suivant


Configurer les conversions de fin de ligne

  •  Conservez l’option par défaut, celle qui vérifie les fins de ligne de style Windows et valide les fins de ligne de style Unix → Suivant :


Configuration de l’émulateur de terminal à utiliser avec Git Bash

  • Sélectionnez l’émulateur de terminal.
  • Pour  un   système tel que Windows 8.1 ouWindows  (Server 2012 R2) ou une version antérieure, laissez la sélection par défaut “MinTTY“.

Si vous êtes  sur Windows 10, d’utilisez la fenêtre de la console par défaut Windows / “Use Windows default console windows” → Suivant .





Options supplémentaires.

  • Ici ne sélectionnez rien → Suivant .

  • En suit fait → Installer



II. Ajuster les raccourcis installés

  • L’installateur aura défini trois raccourcis dans le menu de démarrage.

 

    • Ces raccourcis ont une importance secondaire.
    • L’objectif principal est d’utiliser Git à partir d’une ligne de commande PowerShell. Cependant, vous pouvez trouver des raisons d’utiliser l’un Git Bash ou l’ autre Git CMD.
  • Allez dans l’onglet “Options”.

Panneau de propriétés des options cmd.exe (avant)

  • Assurez-vous que le mode QuickEdit est coché.

Panneau de propriétés des options cmd.exe (après)

  • Allez dans l’onglet “Mise en page”.

Panneau de propriétés de présentation cmd.exe (avant)

  • Modifiez la propriété Height de la taille de la mémoire tampon d’écran sur 9999.

Panneau de propriétés de présentation cmd.exe (après)

  • Cliquez sur le bouton “OK”.

Vérifiez que la version attendue de Git est installée et en cours d’exécution.

 





III. Configurer une simple fenêtre de commande Git PowerShell

  • Utilisez l’explorateur de fichiers pour naviguer :\Windows\System32\WindowsPowerShell\v1.0et cliquez avec le bouton droit de la souris powershell.exepour créer un raccourci sur le bureau. Renommez ce raccourci en «Windows PowerShell (bootstrap)», puis déplacez-le dans le dossier Écran d’accueil. 

Éditez les propriétés du raccourci pour changer la cible du raccourci en:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ExecutionPolicy Unrestricted -NoProfile -File %USERPROFILE%\Documents\WindowsPowerShell\bootstrap-git.profile.ps1
  • L’ -NoProfileargument est important. Il empêche le chargement des profils par défaut et cela évitera d’introduire des problèmes et d’injecter du kraft qui pourrait vous envoyer un trou de dépannage. .
  • Maintenant, en utilisant votre l’éditeur préféré, créez le script de profil PowerShell : 
%USERPROFILE%\Documents\WindowsPowerShell\bootstrap-git.profile.ps1

.. avec ce contenu:

# Start a transcript
if (!(Test-Path "$Env:USERPROFILE\Documents\WindowsPowerShell\Transcripts"))
{
    if (!(Test-Path "$Env:USERPROFILE\Documents\WindowsPowerShell"))
    {
        $rc = New-Item -Path "$Env:USERPROFILE\Documents\WindowsPowerShell" -ItemType directory
    }
    $rc = New-Item -Path "$Env:USERPROFILE\Documents\WindowsPowerShell\Transcripts" -ItemType directory
}
$curdate = $(get-date -Format "yyyyMMddhhmmss")
Start-Transcript -Path "$Env:USERPROFILE\Documents\WindowsPowerShell\Transcripts\PowerShell_transcript.$curdate.txt"

# Alias Git
New-Alias -Name git -Value "$Env:ProgramFiles\Git\bin\git.exe"
  • Lancer le raccourci.
  • Entrez la commande:
git --version
  • Vous devriez voir la version attendue de Git.

Voir version GIT sous Powershell

Désormais vous avez Git en cours d’exécution dans PowerShell. :-).





IV. Obtenez du sucre CLI utile avec Posh-Git

  • posh-git est un module PowerShell qui ajoute la complétion par des tabulations pour les commandes Git et une invite de commande colorisée très utile qui indique la branche et le statut du référentiel actuel, y compris le statut du référentiel distant. Vous allez vouloir installer-git chic.
  • Je recommande d’utiliser la méthode d’installation manuelle afin que vous puissiez garder posh-git à jour avec les derniers correctifs.

  • Dans votre nouvelle fenêtre PowerShell, vérifiez la stratégie d’exécution avec :
    Get-ExecutionPolicy

    .. Ce devrait être soit : RemoteSignedou Unrestricted.

cd ~\Documents // et créer un répertoire <code>GitHub</code>.
cd GitHub
git clone https://github.com/dahlbyk/posh-git.git
cd posh-git
  • Dans le répertoire actuel, vous devriez maintenant voir un fichier appelé example.profile.ps1. Voici un exemple de chargement du module posh-get et de démarrage de ssh-agent(utilisé pour éviter les invites de mot de passe répétées de SSH.
  • Créez également un script simple permettant de configurer la transcription de la session, appelée transcript.src.ps1. Quelque chose comme ça:

Pour savoir plus  sur PowerShell.Host https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.host/?view=powershell-6

# Start a transcript
#
if (!(Test-Path "$Env:USERPROFILE\Documents\WindowsPowerShell\Transcripts"))
{
    if (!(Test-Path "$Env:USERPROFILE\Documents\WindowsPowerShell"))
    {
        $rc = New-Item -Path "$Env:USERPROFILE\Documents\WindowsPowerShell" -ItemType directory
    }
    $rc = New-Item -Path "$Env:USERPROFILE\Documents\WindowsPowerShell\Transcripts" -ItemType directory
}
$curdate = $(get-date -Format "yyyyMMddhhmmss")
Start-Transcript -Path "$Env:USERPROFILE\Documents\WindowsPowerShell\Transcripts\PowerShell_transcript.$curdate.txt"
  • Nous pouvons maintenant créer un nouveau script de profil posh-git.profile.ps1et l’utiliser pour lancer une fenêtre PowerShell dans laquelle Git et posh-git sont activés. Mon exemple de ce script ressemble à ceci:
. "$Env:USERPROFILE\Documents\WindowsPowerShell\transcript.src.ps1"
  • Activer Git and posh-git :
. "$Env:USERPROFILE\Documents\WindowsPowerShell\posh-git.src.ps1"

  • Créez un autre raccourci semblable au raccourci “Windows PowerShell (bootstrap)” que vous avez créé précédemment, mais nommez-le “Windows PowerShell (posh-git)” et définissez la cible sur:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ExecutionPolicy Unrestricted -NoProfile -File %USERPROFILE%\Documents\WindowsPowerShell\posh-git.profile.ps1
  • Épinglez ce raccourci vers l’écran de démarrage et la barre des tâches et vous êtes prêt à partir 😉




V. ssh-agent

  • Le script ci-dessus lancera un ssh-agentprocessus (s’il n’en existe pas déjà un). ssh-agentmet en cache les mots de passe privés et les fournit à Git en cas de besoin. Ceci est utile pour éviter une invite de phrase secrète chaque fois que vous exécutez une commande Git qui touche le référentiel distant. Vous aurez envie d’utiliser ssh-agent.
  • Pour stocker votre phrase secrète avec le ssh-agentprocessus, utilisez la commande ssh-add:
& "C:\Program Files\Git\usr\bin\ssh-add.exe" ~\.ssh\github-myid-rsa
  • Cette commande vous demandera la phrase secrète. Si vous entrez le bon, toute utilisation ultérieure de cette clé privée par Git ne demandera plus de saisir la phrase secrète.




VI. Autres réglages

  • Pour ceux qui préfèrent les couleurs légèrement différent,  dans la sortie  commande Git, vous pouvais régler  la configuration globale Git  pour inclure ces remplacements de colorisation:
color.ui=auto
color.branch.current=green bold
color.branch.remote=red bold
color.status.add=green bold
color.status.added=green bold
color.status.updated=green bold
color.status.changed=red bold
color.status.untracked=red bold
  • Pour utiliser pour exemple Sublime Text 3 comme éditeur par défaut, vous pouvez faire :
core.editor=subl -w
  • Modèle de message de commit personnalisé, référencé via:
commit.template=C:\Users\heind.CORP\.gitmessage.txt




 

Laisser un commentaire