- #WHAT IS GIT BASH ON WINDOWS MINGW64 INSTALL#
- #WHAT IS GIT BASH ON WINDOWS MINGW64 FULL#
- #WHAT IS GIT BASH ON WINDOWS MINGW64 SOFTWARE#
The easiest way is to install it via the net installer.
#WHAT IS GIT BASH ON WINDOWS MINGW64 SOFTWARE#
On the other hand, msysGit is the software package installing the build environment that can build Git for Windows. It comes with a Bash (a Unix-type shell), with a Perl interpreter and with the Git executable and its dependencies. Git for Windows is the software package that installs a minimal environment to run Git on Windows. The README () in the msysgit project explains the relationship between the components: The relationship between msysGit and Git for Windows The term "msysgit" is a good term to put in a search to figure out what is happening when XYZ goes wrong things like "where in the are all the autocrlf settings stored?!?!?!?" The beginning: msysgitĪctually, the beginning is probably MSYS, but really MSYS2.
Still, it misses some of my original question. The top answer from 2016 was originally not helpful for me, but it has been heavily edited and gotten more and more helpful.
#WHAT IS GIT BASH ON WINDOWS MINGW64 FULL#
Unfortunately the full answer is complicated because this thing is actually a lot of things. Now I think the name is "Git Bash for Windows". I originally wanted just to know the formal name for this thing I was using. In most cases, mintty is a better choice for running commands (certainly for the utilities that come with the Git Bash for Windows package), but occasionally a Windows system application may work better with cmd.exe. Mintty is included because cmd.exe, the default Windows command line window, is missing some important features which are normally available on most *nix systems. This is kind of similar to what the Wine project does, but it converts POSIX->Windows rather than Windows->POSIX like Wine does. Windows implementation of POSIX APIs/libraries are provided by Cygwin and MSYS. POSIX API documentation is openly available, so some people have ported it to other systems, including Windows. Normally those extra commands would be found on *nix systems and not on Windows, because they have been programmed against the POSIX programming API (which is what *nix uses), and not the Win32 APIs (which is what Windows uses). This means that all these extra commands have to be bundled together with Bash to create a usable software package. Just like being able to just run cmd.exe on *nix doesn't allow you to do much without the other system utilities, just being able to run Bash on Windows is not very useful either. In the case of Git Bash for Windows these programs are located in the Git installation folder: C:\Program Files\Git\usr\bin, which can also be found in the emulated Linux environment under /usr/bin. They are usually stored under /usr/bin rather than in C:\Windows\system32 on *nix systems, because Windows and *nix have their system file structure organised differently. Ssh, scp, cat, find are run using bash in exactly the same way.
cmd.exe is separate from both and loads and runs them on user's request. These commands are actual executable files under C:\Windows\system32, stored as ipconfig.exe and files. On Windows you might run commands like ipconfig /all or format G: using cmd.exe. It's package that contains bash (which is a command-line shell) and a collection of other, separate *nix utilities like ssh, scp, cat, find and others (which you run using the shell), compiled for Windows, and a new command-line interface terminal window called mintty. You are correct, Git Bash for Windows is not just bash compiled for Windows.