Nice intro. I had to go through this yesterday on a cloud instance and hadn’t used windows in awhile. Instead of using this install GUI I first installed chocolatey. Once that was ready from powershell it’s a quick ‘choco install git’.
Getting visual studio build tools wasn’t as easy (was compiling rust/c++ so had it as a dependency). I managed to avoid Internet explorer entirely by ‘choco install Firefox’ and then managed to go through the painful web workflow VS community edition download.
I really wonder how I managed on Windows for so long in my former career. It’s night and day vs Linux or Mac.
This article is from Jan 2022, I don't understand why the author didn't mention wsl. Even just to point out if it's lacking compared to gitbash. Can anyone chime in?
git bash is great.
with WSL2 I can use git directly, so I uninstalled git-bash and all those msys/cygwin/mingw, things changed, embrace WSL2, move on.
Git Bash is a nice tool. I used it for some time, and still do in some circumstances.
But when I wanted to have more and do more from the command-line re: a *nix-like dev experience on Windows for building native Windows software, I found my way to MSYS2[1]. Note that Git Bash is in parts based on MSYS2, but installing and using MSYS2 is not 1-1 with installing and using Git Bash:
At first I didn't quite understand what I was working with, but MSYS2's website provides the needed info, I just had to take the time to read it.
The History[2] page helped me understand better the relationships and differences between MSYS2, MSYS (not "2"), MinGW/-w64, and Cygwin. One of the more salient points being:
MSYS2 is an independent rewrite of MSYS, based on modern Cygwin and MinGW-w64 with the aim of better interoperability with native Windows software ... MSYS2 is ideologically a successor to MSYS and MinGW. MSYS -- although definitely useful -- is really old and getting in the way of developers. MSYS2 was created to replace the original MSYS while avoiding its problems.
Other pages provide complementary information on that same topic.Another thing I appreciated was the explanation of MSYS2's environments[3]. Being able to painlessly switch away from MSVCRT to UCRT was helpful in solving some UTF-8 difficulties I was experiencing.
Package management with pacman[4] is rather pleasant, and the setup-msys2[5] GitHub Action makes it simple to provide your GHA workflow with the tools and libs you want.
Whenever I've encountered a problem or had a question I couldn't answer via web search, the community on the MSYS2 Discord server[6] has always been quick and happy to help.
[2] https://www.msys2.org/wiki/History/
[3] https://www.msys2.org/docs/environments/
[4] https://www.msys2.org/docs/package-management/
[&] https://packages.msys2.org/queue
Can anyone paste a list of all the commands available from Git Bash? (not the bash builtins, but all the added programs)
how does git bash
versus
msys2?
E.g., with msys2 i can install sshd so that I can use a windows vm as a gitlab runner. I can also use pacman to install build deps.
Can i with git bash?
As a die hard unix fan being forced to work on Windows, git bash is a godsend.
Sure now you have WSL and countless other options but git bash is one click away and works surprisingly well.