Jakie jest dokładne znaczenie Git Bash?

94

Git Bash

Pracuję z Git Bash od dwóch dni. Teraz wiem, podstawowe operacje, takie jak commit, push, pull, fetch, i merge. Ale nadal nie wiem, czym właściwie jest sam Git Bash !

Szukałem dużo na temat Git Bash, ale wszystkie strony, które widziałem, koncentrują się na funkcjonalności jego poleceń. Nadal nie znalazłem dobrej odpowiedzi na moje pytanie. Teraz myślę, że jestem we właściwym miejscu, aby uzyskać tę odpowiedź!

DRAJI
źródło
4
Inne osoby mogą być również zainteresowane moim pytaniem dotyczącym superużytkownika. Czym w
geneorama
Nie ma czegoś takiego jak „Git bash”. Jest „bash” i jest „git”. Bash to interaktywny interpreter wiersza poleceń, czasami nazywany po prostu „sh” lub „shell” z powodów historycznych, analogicznie do „cmd” Microsoftu. Nie jest jednak „git shell”, która jest „zablokowany-down” interpreter poleceń używany do ograniczenia mocy anonimowego dostępu do serwerów git i jest częścią dystrybucji git. Ponieważ git został opracowany w systemach typu UNIX i dla nich , najlepiej współpracuje z CLI "bash", chociaż teoretycznie jest niezależny od powłoki.
Hatebit

Odpowiedzi:

78

git bash to powłoka, w której:

Zobacz „ Naprawa $HOMElokalizacji msysGit Portable ”:

W systemie Windows 64:

C:\Windows\SysWOW64\cmd.exe /c ""C:\Prog\Git\1.7.1\bin\sh.exe" --login -i"

Różni się od tego git-cmd.bat, który udostępnia polecenia git w zwykłym wierszu poleceń DOS.

Narzędzie takie jak GitHub dla Windows (G4W) zapewnia inną powłokę dla git (w tym PowerShell)


Aktualizacja kwiecień 2015 :

Uwaga: git bash w msysgit / Git dla Windows 1.9.5 jest stary:

GNU bash, version 3.1.20(4)-release (i686-pc-msys)
Copyright (C) 2005 Free Software Foundation, Inc.

Ale po wycofaniu msysgit ( czwarty kwartał 2015) i nowego Git dla Windows (drugi kwartał 2015), masz teraz Git dla Windows 2.3.5 .
Ma znacznie nowszy bash, oparty na 64- bitowym projekcie msys2 , niezależny przepis na MSYS, oparty na nowoczesnym Cygwin (warstwa zgodności POSIX) i MinGW-w64 w celu lepszej współpracy z natywnym oprogramowaniem Windows. msys2posiada również własny instalator .

Git bash jest teraz (z nowym Git dla Windows):

GNU bash, version 4.3.33(3)-release (x86_64-pc-msys)
Copyright (C) 2013 Free Software Foundation, Inc.

Oryginalna odpowiedź (czerwiec 2013) Dokładniej, z msygit wiki :

Historycznie rzecz biorąc, Git w systemie Windows był oficjalnie obsługiwany tylko przy użyciu Cygwin.
Aby pomóc w stworzeniu natywnej wersji systemu Windows, ten projekt został uruchomiony w oparciu o rozwidlenie mingw .

Aby wyrazić mleczną „zupę” nazw projektów, mówimy w ten sposób:

  • msysGit - to nazwa tego projektu, środowiska kompilacji dla Git dla Windows, które udostępnia oficjalne pliki binarne
  • MinGW - to minimalistyczne środowisko programistyczne dla natywnych aplikacji Microsoft Windows.
    Jest to naprawdę bardzo cienka warstwa czasu kompilacji w Microsoft Runtime; Programy MinGW są zatem prawdziwymi programami Windows, bez koncepcji ścieżek w stylu uniksowym lub niuansów POSIX, takich jak fork()wywołanie
  • MSYS - to system interpretera wiersza poleceń Bourne Shell, używany przez MinGW (i inne), w przeszłości rozwidlony z Cygwin
  • Cygwin - środowisko podobne do Linuksa, które było używane w przeszłości do budowania Git dla Windows, obecnie nie ma żadnego związku z msysGit

Zatem dwa wiersze opisu „git bash” to:

" Git bash" to powłoka msys zawarta w "Git for Windows" i odchudzona wersja Cygwin (w dodatku stara wersja), której jedynym celem jest zapewnienie wystarczającej ilości warstwy POSIX do uruchomienia basha.


Przypomnienie:

msysGit to środowisko programistyczne do kompilacji Git dla Windows. Jest kompletny, w tym sensie, że wystarczy zainstalować msysGit, a następnie można zbudować Git. Bez instalowania oprogramowania innych firm.

msysGit to nie Git dla Windows; to jest instalator, który instaluje Git - i tylko Git .

Zobacz więcej w „ Różnica między msysgit a Cygwin + git? ”.

VonC
źródło
2
chcę wiedzieć, co to znaczy!
DRAJI,
@DRAJI czy masz na myśli, że moja odpowiedź nie obejmuje tego, co chciałeś wiedzieć?
VonC,
@DRAJI Czy jest więcej szczegółów, o których chciałbyś się dowiedzieć git bash?
VonC,
Oczywiście. Ale przede wszystkim chcę wiedzieć tylko dwa opisy na ten temat, a potem zrobię kolejny krok.
DRAJI
3
na przykład, jaka jest różnica między UNIX Bash a Git Bash?
Alexander Mills,
22

Myślę, że osoba zadająca pytanie myśli (myślała), że git bash to polecenie takie jak git init lub git checkout . Git bash to nie polecenie , to interfejs . Zakładam również, że asker nie jest użytkownikiem Linuksa, ponieważ bash jest bardzo popularny w świecie unix / linux. Nazwa „bash” jest skrótem od „ B ourne A gain SH ell”. Bash to tekstowy interfejs poleceń, który ma funkcje umożliwiające uruchamianie automatycznych skryptów. Dobra analogia byłoby porównanie bash do nowego PowerShell interfejsu w Windows7 / 8. ubogichAnalogią (ale prawdopodobnie łatwiejszą do zrozumienia dla większej liczby osób) jest połączenie wiersza poleceń i plików poleceń .BAT (wsadowych) z czasów DOS i wczesnych wersji systemu Windows.

BIBLIOGRAFIA:

OMY
źródło
10

Bash to interfejs wiersza poleceń, który został stworzony ponad dwadzieścia siedem lat temu przez Briana Foxa jako darmowy zamiennik Bourne Shell. Powłoka to specyficzny rodzaj interfejsu wiersza poleceń. Bash to „open source”, co oznacza, że ​​każdy może przeczytać kod i zasugerować zmiany. Od samego początku jest wspierany przez dużą społeczność inżynierów, którzy pracowali nad stworzeniem niesamowitego narzędzia. Bash to domyślna powłoka dla systemów Linux i Mac. Z tych powodów Bash jest najczęściej używaną i szeroko rozpowszechnioną powłoką.

Windows ma inny interfejs wiersza poleceń, zwany wierszem polecenia. Chociaż ma wiele takich samych funkcji jak Bash, Bash jest znacznie bardziej popularny. Ze względu na siłę społeczności open source i narzędzia, które zapewniają, opanowanie Bash jest lepszą inwestycją niż opanowanie wiersza polecenia.

Aby używać Bash na komputerze z systemem Windows, musimy pobrać i zainstalować program o nazwie Git Bash. Git Bash (Is the Bash for Windows) umożliwia nam łatwy dostęp do Bash, a także do innego narzędzia o nazwie Git w środowisku Windows.

Juan Francisco Garcia Gonzalez
źródło
1
Na marginesie, bieżący interfejs wiersza polecenia dla systemu Windows to PowerShell. Starożytna powłoka CMD oparta na systemie DOS jest nadal dostępna ze względu na kompatybilność, ale MSFT skupia całą swoją uwagę na PS. To całkiem fajne, naprawdę, biorąc zorientowane na potoki cechy powłok opartych na Uniksie (bash, sh, csh, ksh, zsh itp.) I rozszerzając je, aby umożliwić przekazywanie obiektów, a nie tylko tekst.
Peter Halverson
3

W swej istocie Git to zestaw programów narzędziowych wiersza poleceń zaprojektowanych do wykonywania w środowisku wiersza poleceń w stylu uniksowym. Nowoczesne systemy operacyjne, takie jak Linux i macOS, zawierają wbudowane terminale wiersza poleceń systemu Unix. To sprawia, że ​​systemy operacyjne Linux i macOS są komplementarne podczas pracy z Git. Zamiast tego Microsoft Windows używa wiersza poleceń systemu Windows, czyli środowiska terminala innego niż Unix.

Co to jest Git Bash?

Git Bash to aplikacja dla środowisk Microsoft Windows, która zapewnia warstwę emulacji dla obsługi wiersza poleceń Git. Bash to akronim od Bourne Again Shell. Powłoka to aplikacja terminalowa używana do łączenia się z systemem operacyjnym za pomocą pisemnych poleceń. Bash to popularna domyślna powłoka w systemach Linux i macOS. Git Bash to pakiet, który instaluje Bash, niektóre popularne narzędzia bash i Git w systemie operacyjnym Windows.

źródło: https://www.atlassian.com/git/tutorials/git-bash

Abhijeet C'kar
źródło
2
„Git to zestaw programów użytkowych wiersza poleceń, które są przeznaczone do wykonania na linii poleceń środowiska stylu Unix” ... prawda, i nie dziwi, zważywszy Git został stworzony przez Linusa Torvaldsa ( en.wikipedia.org/wiki/Linus_Torvalds )
VonC