I've got what I'm hoping is a simple question, but I haven't been able to find the answer yet. I would like to launch Git Bash from a DOS batch file. Here is what I tried so far:
Launched sh.exe from batch file using start command
start sh.exe
However, this does not launch the full Git Bash environment. Git Bash usually has "MINGW32" in the title bar, but sh.exe has a full path to ... Git\bin\sh.exe
. It feels to me like there are some overlays or dependencies that I'm not aware of possibly, that also need to be loaded (pulled in? imported?).
This was one of the top results I found through searching the web, but it doesn't make complete sense to me and I'm not sure if it applies exactly to my situation:
Running git from Windows Cmd line: Where are key files?
I'm a beginner in the world of DOS batch scripting.
This question is related to
windows
git
batch-file
cmd
command
I'm not sure exactly what you mean by "full Git Bash environment", but I get the nice prompt if I do
"C:\Program Files\Git\bin\sh.exe" --login
In PowerShell
& 'C:\Program Files\Git\bin\sh.exe' --login
The --login
switch makes the shell execute the login shell startup files.
I used the info above to help create a more permanent solution. The following will create the alias sh that you can use to open Git Bash:
echo @start "" "%PROGRAMFILES%\Git\bin\sh.exe" --login > %systemroot%\sh.bat
The answer by Endoro has aged and I'm unable to comment;
# if you want to launch from a batch file or the command line:
start "" "%ProgramFiles%\Git\bin\sh.exe" --login
I prefer to use git-bash.exe instead of sh.exe.
start "" "%ProgramFiles%\Git\git-bash.exe" -c "tail -f /c/Windows/win.ini"
You can stop closing the window when call /usr/bin/bash --login -i
in the end;
start "" "%ProgramFiles%\Git\git-bash.exe" -c "echo 1 && echo 2 && /usr/bin/bash --login -i"
Note: I'm not sure this is a good way :)
You can add git path to environment variables
%SYSTEMDRIVE%\Program Files (x86)\Git\bin\
%PROGRAMFILES%\Git\bin\
Open cmd and write this command to open git bash
sh --login
OR
bash --login
OR
sh
OR
bash
You can see this GIF image for more details:
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login -i
Git bash will get open.
I prefer, putting git in environment variable and just calling
c:\Users\[myname]>sh
or
c:\Users\[myname]>bash
Steps to create Environment variable (Win7)
In the section User variables, hit button NEW, put variable name as GIT_HOME
, value as (folder-where-you-installed-git).
c:\tools\git
, others maybe have C:\Program Files\Git
find the PATH
environment variable and select it. Click Edit. (If the PATH environment variable does not exist, click New).
%GIT_HOME%
and %GIT_HOME%\bin
. Click OK. Close all remaining windows by clicking OK.sh
or bash
or git-bash
https://stackoverflow.com/a/33368029/15789
I have posted an answer here.
Open a Windows command window, and execute this script. If there is a change in your working directory, it will open a bash terminal in your working directory, and display the current git status. It keeps the bash window open, by calling exec bash.
If you have multiple projects you may create copies of this script with different project folder, and call it from a main batch script.
Source: Stackoverflow.com