I have happily been using Git and Git Bash from https://git-scm.com/. There is a page with more information here: https://git-for-windows.github.io/.
Yesterday I ran into a problem with rsync
, and I started digging deeper into Git Bash for Windows. I realized that I'm not even sure of the name of the Bash program, because it's just bundled with the git-scm download. I'm calling it Git Bash for Windows, which seems reasonable.
In looking into "What is Git Bash" I read about Cygwin and a different thing called msys2, which seems to be related to msysGit
, and I saw references to MinGW
. But, then I saw in the FAQ that mintty is the the default terminal for Git Bash.
It seems that the Bash application is actually a specially curated bundle of other things (mostly listed above) that are available independently.
Fundamentally, I would like to know what is the basis that makes *nix commands like ssh
, scp
, cat
, and ls
work in Git Bash for Windows?
(I think a good answer would help someone understand, in broad strokes, how these components fit together and understand the right words for the components, but I don't want to break the SO question / answer format.)
rsync
question!!