Sumário
Você está correto, o Git Bash para Windows não é apenas bashcompilado para Windows. Empacotá-lo de que contém bash(que é um shell de linha de comando ) e uma coleção de outros, utilitários separados * nix como ssh, scp, cat, finde outros (que você executar usando o shell), compilado para Windows, e um novo terminal de interface de linha de comando janela chamada mintty.
Em poucas palavras
No Windows, você pode executar comandos como ipconfig /allou format G:usando cmd.exe. Esses comandos são arquivos executáveis reais em C:\Windows\system32, armazenados como ipconfig.exee format.comarquivos. cmd.exeé separado de ambos e carrega e os executa a pedido do usuário.
ssh, scp, cat, findSão executados usando bashexatamente da mesma maneira. Eles geralmente são armazenados em sistemas * nix, /usr/bine não em C:\Windows\system32sistemas * nix, porque o Windows e o * nix têm sua estrutura de arquivos do sistema organizada de maneira diferente.
No caso do Git Bash for Windows, esses programas estão localizados na pasta de instalação do Git:, C:\Program Files\Git\usr\binque também pode ser encontrada no ambiente Linux emulado em /usr/bin.
Assim como poder rodar cmd.exeno * nix não permite muito sem os outros utilitários do sistema, apenas rodar o Bash no Windows também não é muito útil. Isso significa que todos esses comandos extras precisam ser agrupados com o Bash para criar um pacote de software utilizável.
Detalhes: aplicativos POSIX no Windows
Normalmente esses comandos extras seriam encontrados nos sistemas * nix e não no Windows, porque foram programados na API de programação POSIX (que é o que o * nix usa) e não nas APIs do Win32 (que é o Windows que usa). A documentação da API POSIX está disponível abertamente, portanto, algumas pessoas a portaram para outros sistemas, incluindo o Windows. A implementação do Windows de APIs / bibliotecas POSIX é fornecida por Cygwine MSYS.
Isso é semelhante ao que o projeto Wine faz, mas converte POSIX-> Windows em vez de Windows-> POSIX como o Wine.
hortelã
minttyestá incluído porque cmd.exe, na janela de linha de comando padrão do Windows, faltam alguns recursos importantes que normalmente estão disponíveis na maioria dos sistemas * nix. Na maioria dos casos, minttyé uma opção melhor para executar comandos (certamente para os utilitários que acompanham o pacote Git Bash for Windows), mas ocasionalmente um aplicativo de sistema Windows pode funcionar melhor cmd.exe.