web-dev-qa-db-fra.com

git bash sur windows vs WSL

J'ai téléchargé git sur mes fenêtres et j'ai installé d'autres trucs, y compris git bash.

Bien que je ne sache pas pourquoi le terminal bash a été inclus dans le "git", il supportait non seulement les fonctions de git, mais d'autres fonctions comme mkdir, cp, mv, tout comme un vrai terminal bash linux.

Récemment, j'ai connu le WSL (Windows Subsystem for Linux), qui rend le terminal bash disponible dans Windows.

Le git bash est-il assez inférieur à WSL en termes de fonctionnalité?

Contient-il des contraintes que WSL n'a pas?

7
Rhee

Git pour Windows utilise le projet mingw-w64 (comme illustré ici ) et msys2 .
Voir plus dans " Quel est le lien entre msys, msys2 et msysgit? ".

C'est très différent de WSL , qui émule une distribution Linux réelle.

Contient-il des contraintes que WSL n'a pas?

Git pour Windows est basé sur POSIX couche de compatibilité, qui a des limites : a la prise en charge POSIX est déconseillée depuis Windows 8 .


Remarque: WSL sera bientôt remplacé par WSL2 , qui utilise une architecture entièrement nouvelle qui utilise un vrai noyau Linux .


Si votre programme dépend de Git bash (et non pas de bash WSL/WSL2), assurez-vous de mettre ledit Git pour Windows en premier dans your PATH, comme Jon Skeet décrit dans " TILISATION DE "GIT BASH" DE L'APPAREIL ", dans un environnement AppVeyor CI .

# Make sure we get the bash that comes with git, not WSL bash
  - ps: $env:Path = "C:\Program Files\Git\bin;$env:Path"
4
VonC

WSL ne déclenche pas de gestionnaires de fichiers lorsque le fichier est modifié dans les outils Windows - https://blogs.msdn.Microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using -windows-apps-and-tools /

Par conséquent, vous ne pouvez pas exécuter un serveur de développement dans WSL, car les modifications de code apportées à un éditeur Windows ne seront pas reflétées dans le serveur de développement.

5
Colin Hobday