Comment lancer une fenêtre Git Bash avec un répertoire de travail particulier en utilisant un script?

Comment puis-je lancer une nouvelle fenêtre Git Bash avec un répertoire de travail spécifié en utilisant un script (bash ou Windows batch)?

mon objectif est de lancer plusieurs fenêtres Git Bash à partir d'un seul script, chacune étant positionnée sur un répertoire de travail différent. De cette façon, je peux rapidement me rendre au travail après avoir démarré l'ordinateur au lieu d'avoir à ouvrir Git Bash windows et la navigation de chacun d'eux dans le répertoire de travail correct.

Edit: je ne demande pas comment changer le répertoire de travail par défaut, comme cette question le fait, mais pour lancer une ou plusieurs fenêtres de terminal avec des répertoires de travail différents d'un script.

50
demandé sur holocronweaver 2013-11-12 01:51:07

7 réponses

Git Bash utilise cmd.exe pour son terminal ainsi que des extensions de MSYS/MinGW qui sont fournies par sh.exe , une sorte de cmd.exe wrapper. Dans Windows vous lancez un nouveau terminal en utilisant la commande start .

ainsi, un script shell qui lance un nouveau terminal Git Bash avec un répertoire de travail spécifique est:

(cd C:/path/to/dir1 && start sh --login) &
(cd D:/path/to/dir2 && start sh --login) &

un script Windows batch équivalent est:

C:
cd \path\to\dir1
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login 
D:
cd \path\to\dir2
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login 

Pour obtenir la même police et la taille de la fenêtre comme le Git Bash lancé à partir du menu Démarrer, il est plus facile de copier les paramètres raccourcis du menu Démarrer dans la console de commande par défaut (pour changer les paramètres par défaut, ouvrez cmd.exe , cliquez sur l'icône en haut à gauche, et sélectionnez Par Défaut).

38
répondu holocronweaver 2013-11-15 01:00:53

une autre option est de créer un raccourci avec les propriétés suivantes:

enter image description here

Cible devrait être:

" %SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe "--login

Start in est le dossier dans lequel vous souhaitez lancer votre invite Git Bash.

35
répondu Drew Noakes 2015-08-20 18:40:09

essayez l'option --cd=. En supposant que votre GIT Bash réside en C:\Program Files\Git it would be:

"C:\Program Files\Git\git-bash.exe" --cd="e:\SomeFolder"

si utilisé à l'intérieur de la clé de Registre, le paramètre de dossier peut être fourni avec %1:

"C:\Program Files\Git\git-bash.exe" --cd="%1"

24
répondu Mike Kowalski 2017-01-15 20:04:51

ajoutons encore à la réponse de @Drew Noakes:

objectif:

"C:\Program Files\Git\git-bash.exe" --cd=C:\GitRepo

le paramètre cd devrait être l'une des options pour spécifier le répertoire de travail.

aussi noter, que je n'ai pas tout --login param là: au lieu de cela, j'utilise une autre application supplémentaire, dédiée uniquement pour les clés SSH: Pageant (PuTTY authentication agent) .

Démarrer dans:

C:\GitRepo

de la même manière que @Drew Noakes l'a mentionné/montré ici plus tôt, je l'utilise aussi.

clé de raccourci:

Ctrl + Alt + B

ces raccourcis sont une autre caractéristique moins connue dans Windows. Mais il y a une restriction: pour laisser le raccourci prendre effet, il doit être placé quelque part sur le sous-répertoire de L'utilisateur: le bureau est parfait.

si vous ne voulez pas qu'il soit visible, mais encore activable, placez ceci .lnk fichier c'est à dire le dossier de lancement rapide, en tant que dir est le dessein de tels raccourcis. (peu importe si affiché sur le bureau) #76080 #3619355

"\Application Data\Microsoft\Internet Explorer\Quick Launch\"
13
répondu Franta 2017-10-11 11:26:22

c'est la commande qui peut être exécutée directement dans Run dialog box (raccourci est win + R ) et fonctionne également bien enregistré comme un .bat script:

cmd /c (start /d "/path/to/dir" bash --login) && exit
4
répondu lengxuehx 2017-07-26 20:15:03

Je ne suis pas familier avec Git Bash mais en supposant que c'est un shell git (tel que git-sh ) résidant dans /path/to/my/gitshell et votre programme terminal préféré est appelé `myterm' vous pouvez script ce qui suit:

(cd dir1; myterm -e /path/to/my/gitshell) &
(cd dir2; myterm -e /path/to/my/gitshell) &
...

notez que le paramètre -e pour l'exécution peut être nommé différemment avec votre programme terminal préféré.

2
répondu Marcus Rickert 2013-11-11 22:43:02

Windows 10

c'est essentiellement la réponse de @lengxuehx, mais mis à jour pour Win 10, et il suppose que votre installation de bash est de Git Bash pour Windows à partir de téléchargements officiels de git .

cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit

j'ai fini par utiliser ceci après avoir perdu mes éléments de menu contextuel pour Git Bash comme commande à exécuter à partir des paramètres du registre. Au cas où vous seriez curieux à ce sujet, j'ai fait ceci:

  1. créer une nouvelle clé appelée Bash dans la shell clé à HKEY_CLASSES_ROOT\Directory\Background\shell
  2. ajoute une valeur de chaîne de caractères à Icon (pas une nouvelle clé! c'est le chemin complet vers votre git-bash.exe, y compris le git-bash.exe de la partie. Vous pourriez avoir besoin de l'envelopper dans des guillemets.
  3. modifier la valeur par défaut de Bash au texte que vous souhaitez utiliser dans le menu contextuel enter image description here
  4. ajouter une sous-clé à Bash appelée command
  5. modifier la valeur par défaut de command en cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit enter image description here

alors vous devriez être en mesure de fermer le registre et de commencer à utiliser Git Bash à partir de n'importe où qui est un véritable répertoire. Par exemple, This PC n'est pas un répertoire réel.

enter image description here

1
répondu kayleeFrye_onDeck 2016-09-29 20:41:52