Apa sih arti sebenarnya dari Git Bash?

94

Git Bash

Saya telah bekerja dengan Git Bash selama dua hari terakhir. Aku tahu sekarang operasi dasar seperti commit, push, pull, fetch, dan merge. Tapi saya masih belum tahu apa sebenarnya Git Bash itu !

Saya telah mencari banyak tentang Git Bash, tetapi semua situs yang saya lihat fokus pada fungsionalitas perintahnya. Saya masih belum menemukan jawaban yang bagus untuk pertanyaan saya. Sekarang, saya pikir, saya berada di tempat yang tepat untuk mendapatkan jawaban ini!

DRAJI
sumber
4
Orang mungkin juga tertarik dengan pertanyaan saya tentang SuperUser Apa itu Git Bash untuk Windows?
geneorama
Tidak ada yang namanya "Git bash". Ada "bash" dan ada "git". Bash adalah penerjemah baris perintah interaktif, terkadang juga disebut hanya "sh" atau "shell" karena alasan historis, analog dengan "cmd" Microsoft. Ada adalah , bagaimanapun, "git shell", yang merupakan "terkunci-down" perintah interpreter digunakan untuk membatasi kekuasaan akses anonim ke server git, dan merupakan bagian dari distribusi git. Karena git dikembangkan pada dan untuk sistem serupa UNIX, paling baik dipasangkan dengan CLI "bash", meskipun, secara teori, ini adalah shell-agnostic.
Hatebit

Jawaban:

78

git bash adalah shell dimana:

Lihat " Memperbaiki $HOMElokasi portabel msysGit ":

Di Windows 64:

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

Ini berbeda dari git-cmd.bat, yang menyediakan perintah git dalam command prompt DOS biasa.

Alat seperti GitHub untuk Windows (G4W) menyediakan shell yang berbeda untuk git (termasuk yang PowerShell)


Pembaruan April 2015 :

Catatan: git bash di msysgit / Git untuk windows 1.9.5 sudah lama:

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

Tetapi dengan penghentian msysgit ( K4 2015) dan Git baru untuk Windows (K2 2015), Anda sekarang memiliki Git untuk Windows 2.3.5 .
Ini memiliki pesta yang jauh lebih baru, berdasarkan proyek 64bits msys2 , penulisan ulang MSYS independen, berdasarkan Cygwin modern (lapisan kompatibilitas POSIX) dan MinGW-w64 dengan tujuan interoperabilitas yang lebih baik dengan perangkat lunak Windows asli. msys2dilengkapi dengan penginstalnya sendiri juga.

Git bash sekarang (dengan Git Untuk Windows yang baru):

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

Jawaban asli (Juni 2013) Lebih tepatnya, dari msygit wiki :

Secara historis, Git di Windows hanya didukung secara resmi menggunakan Cygwin.
Untuk membantu membuat versi Windows asli, proyek ini dimulai, berdasarkan garpu mingw .

Untuk membuat 'sup' susu dari nama proyek lebih jelas, kami mengucapkan seperti ini:

  • msysGit - adalah nama proyek ini, lingkungan build untuk Git untuk Windows, yang merilis binari resmi
  • MinGW - adalah lingkungan pengembangan minimalis untuk aplikasi Microsoft Windows asli.
    Ini benar-benar merupakan lapisan waktu kompilasi yang sangat tipis di atas Microsoft Runtime; Oleh karena itu, program MinGW adalah program Windows nyata, tanpa konsep jalur gaya Unix atau kemudahan POSIX seperti fork()panggilan
  • MSYS - adalah sistem penerjemah baris perintah Bourne Shell, digunakan oleh MinGW (dan lainnya), pernah bercabang di masa lalu dari Cygwin
  • Cygwin - lingkungan mirip Linux, yang digunakan di masa lalu untuk membangun Git untuk Windows, saat ini tidak ada hubungannya dengan msysGit

Jadi, deskripsi dua baris Anda tentang "git bash" adalah:

" Git bash" adalah shell msys yang disertakan dalam "Git untuk Windows", dan merupakan versi Cygwin yang lebih ramping (versi lama pada saat itu), yang tujuan satu-satunya adalah menyediakan lapisan POSIX yang cukup untuk menjalankan bash.


Peringatan:

msysGit adalah lingkungan pengembangan untuk mengkompilasi Git untuk Windows. Selesai, dalam artian Anda hanya perlu menginstall msysGit, lalu Anda bisa membangun Git. Tanpa menginstal perangkat lunak pihak ketiga.

msysGit bukanlah Git untuk Windows; itu adalah penginstal yang menginstal Git - dan hanya Git .

Lihat selengkapnya di " Perbedaan antara msysgit dan Cygwin + git? ".

VonC
sumber
2
Saya hanya ingin tahu arti tentang itu!
DRAJI
@DRAJI maksud Anda jawaban saya tidak mencakup apa yang ingin Anda ketahui?
VonC
@DRAJI adakah detail lainnya yang ingin Anda ketahui tentang " git bash"?
VonC
Tentu saja. Tapi pertama-tama saya ingin mengetahui gambaran dua baris saja tentang itu. Setelah itu saya akan mengambil langkah selanjutnya.
DRAJI
3
Misalnya, apa perbedaan antara UNIX Bash dan Git Bash?
Alexander Mills
22

Saya pikir penanya pertanyaan adalah (dulu) berpikir bahwa git bash adalah perintah seperti git init atau git checkout . Git bash bukanlah perintah , ini adalah antarmuka . Saya juga akan menganggap penanya bukanlah pengguna linux karena bash sangat populer di dunia unix / linux. Nama "bash" adalah singkatan dari " B ourne A gain SH ell". Bash adalah antarmuka perintah hanya teks yang memiliki fitur yang memungkinkan skrip otomatis dijalankan. Sebuah baik analogi akan membandingkan bash ke baru PowerShell antarmuka di Windows7 / 8. A miskinanalogi (tapi satu kemungkinan lebih mudah dipahami oleh lebih banyak orang) adalah kombinasi dari command prompt dan file perintah .BAT (batch) dari zaman DOS dan versi awal Windows.

REFERENSI:

OMY
sumber
10

Bash adalah Antarmuka Baris Perintah yang dibuat lebih dari dua puluh tujuh tahun yang lalu oleh Brian Fox sebagai pengganti perangkat lunak gratis untuk Bourne Shell. Shell adalah jenis Antarmuka Baris Perintah tertentu. Bash adalah "open source" yang berarti siapa pun dapat membaca kode dan menyarankan perubahan. Sejak awal, telah didukung oleh komunitas besar insinyur yang telah bekerja untuk menjadikannya alat yang luar biasa. Bash adalah shell default untuk Linux dan Mac. Karena alasan ini, Bash adalah shell yang paling banyak digunakan dan didistribusikan secara luas.

Windows memiliki Antarmuka Baris Perintah yang berbeda, yang disebut Prompt Perintah. Meskipun ini memiliki banyak fitur yang sama dengan Bash, Bash jauh lebih populer. Karena kekuatan komunitas open source dan alat yang mereka sediakan, menguasai Bash adalah investasi yang lebih baik daripada menguasai Command Prompt.

Untuk menggunakan Bash di komputer Windows, kita perlu mengunduh dan menginstal program yang disebut Git Bash. Git Bash (Is the Bash untuk windows) memungkinkan kita mengakses Bash dengan mudah serta alat lain yang disebut Git, di dalam lingkungan Windows.

Juan Francisco Garcia Gonzalez
sumber
1
Selain itu, CLI untuk Windows saat ini adalah PowerShell. Shell CMD berbasis DOS kuno masih ada untuk kompatibilitas tetapi MSFT memfokuskan semua perhatian mereka pada PS. Ini cukup bagus, sungguh, mengambil fitur berorientasi pipa dari shell berbasis Unix (bash, sh, csh, ksh, zsh, dll.) Dan memperluasnya untuk memungkinkan lewat objek, vs hanya teks.
Peter Halverson
3

Pada intinya, Git adalah sekumpulan program utilitas baris perintah yang dirancang untuk dijalankan pada lingkungan baris perintah gaya Unix. Sistem operasi modern seperti Linux dan macOS, keduanya menyertakan terminal baris perintah Unix bawaan. Hal ini membuat Linux dan macOS menjadi sistem operasi yang saling melengkapi saat bekerja dengan Git. Microsoft Windows malah menggunakan prompt perintah Windows, lingkungan terminal non-Unix.

Apa itu Git Bash?

Git Bash adalah aplikasi untuk lingkungan Microsoft Windows yang menyediakan lapisan emulasi untuk pengalaman baris perintah Git. Bash adalah singkatan dari Bourne Again Shell. Shell adalah aplikasi terminal yang digunakan untuk berinteraksi dengan sistem operasi melalui perintah tertulis. Bash adalah shell default yang populer di Linux dan macOS. Git Bash adalah paket yang menginstal Bash, beberapa utilitas bash umum, dan Git di sistem operasi Windows.

sumber: https://www.atlassian.com/git/tutorials/git-bash

Abhijeet C'kar
sumber
2
"Git adalah sekumpulan program utilitas baris perintah yang dirancang untuk dijalankan pada lingkungan baris perintah gaya Unix" ... benar, dan tidak mengherankan, mengingat Git dibuat oleh Linus Torvalds ( en.wikipedia.org/wiki/Linus_Torvalds )
VonC