Git Bash'in tam anlamı nedir?


94

Git Bash

Son iki gündür Git Bash ile çalışıyorum. Şimdi temel işlemleri gibi biliyorum commit, push, pull, fetch, ve merge. Ama hala Git Bash bilmiyorum kendisi aslında!

Git Bash hakkında çok araştırma yaptım, ancak gördüğüm tüm siteler komutlarının işlevselliğine odaklanıyor. Hala soruma iyi bir cevap bulamadım. Şimdi, sanırım bu yanıtı almak için doğru yerdeyim!


4
İnsanlar SuperUser hakkındaki sorumla da ilgilenebilir Yine de Windows için Git Bash nedir?
geneorama

"Git bash" diye bir şey yoktur. "Bash" var ve "git" var. Bash, Microsoft'un "cmd" sine benzer şekilde tarihsel nedenlerden dolayı bazen sadece "sh" veya "kabuk" olarak da adlandırılan etkileşimli bir komut satırı yorumlayıcısıdır. Orada olup git sunucularına anonim erişime gücünü sınırlamak için kullanılan bir "kilitli" komutu tercüman olduğunu ve git dağıtımının bir parçası olan "git kabuk", ancak,. Git geliştirildi yana üzerinde ve için sistemler gibi UNIX, teoride, bu kabuk agnostik olmasına rağmen, en iyi, "bash" CLI ile eşleştirilmiş.
Hatebit

Yanıtlar:


78

git bash şu özelliklere sahip bir kabuktur:

Bkz. " MsysGit Taşınabilir $HOMEkonumunu düzeltme ":

Windows 64'te:

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

Bu git-cmd.bat, düz bir DOS komut isteminde git komutları sağlayandan farklıdır .

Windows için GitHub (G4W) gibi bir araç , git için farklı bir kabuk sağlar (bir PowerShell dahil)


Nisan 2015 Güncellemesi :

Not: Windows 1.9.5 için msysgit / Git içindeki git bash eski bir tanesidir:

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

Ancak msysgit'in aşamalı olarak kaldırılmasıyla (2015 4. Çeyrek) ve yeni Windows İçin Git (2015 2. Çeyrek) ile artık Windows için Git 2.3.5'e sahipsiniz . Yerel Windows yazılımıyla daha iyi birlikte çalışabilirlik amacıyla modern Cygwin (POSIX uyumluluk katmanı) ve MinGW- w64'e
dayanan, MSYS'nin bağımsız bir yeniden yazımı olan 64 bitlik msys2 projesine dayanan çok daha yeni bir bash'a sahiptir . kendi yükleyicisiylemsys2 birlikte gelir .

Git bash artık (Windows için yeni Git ile):

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

Orijinal cevap (Haziran 2013) Daha doğrusu, msygit wiki'den :

Geçmişte, Windows'ta Git yalnızca Cygwin kullanılarak resmi olarak destekleniyordu.
Yerel bir Windows sürümü oluşturmaya yardımcı olmak için, bu proje mingw çatalı temel alınarak başlatıldı .

Proje isimlerinin sütlü 'çorbasını' daha net hale getirmek için şöyle söylüyoruz:

  • msysGit - resmi ikili dosyaları yayınlayan Windows için Git için bir derleme ortamı olan bu projenin adıdır
  • MinGW - yerel Microsoft Windows uygulamaları için minimalist bir geliştirme ortamıdır.
    Microsoft Runtime üzerinde gerçekten çok ince bir derleme zamanı katmanıdır; MinGW programları, bu nedenle, Unix tarzı yollar veya fork()çağrı gibi POSIX nitelikleri kavramı olmayan gerçek Windows programlarıdır.
  • MSYS - MinGW (ve diğerleri) tarafından kullanılan bir Bourne Shell komut satırı yorumlayıcısı sistemidir, çatallı edildi geçmişte Cygwin dan
  • Cygwin - Windows için Git inşa etmek, geçmişte kullanılan çevre, gibi Linux, günümüzde msysGit ilişkisi yoktur

Yani, "git bash" ile ilgili iki satırlık açıklamanız:

" Git bash", "Git for Windows" içinde bulunan bir msys kabuğudur ve Cygwin'in (eski bir sürümü) zayıflatılmış bir sürümüdür ve tek amacı bir bash çalıştırmak için yeterli bir POSIX katmanı sağlamaktır.


Hatırlatma:

msysGit, Windows için Git'i derlemek için geliştirme ortamıdır. Tamamlandı, sadece msysGit'i kurmanız gerektiği ve ardından Git'i oluşturabilirsiniz. Herhangi bir üçüncü taraf yazılımı yüklemeden.

msysGit, Windows için Git değildir; bu, Git'i ve yalnızca Git'i kuran bir yükleyicidir .

" Msysgit ve Cygwin + git arasındaki fark? " Bölümünde daha fazlasını görün .


2
bunun anlamını bilmek istiyorum!
DRAJI

@DRAJI, cevabımın bilmek istediklerinizi kapsamadığını mı söylüyorsunuz?
VonC

@DRAJI " git bash" hakkında bilmek isteyebileceğiniz başka detay var mı?
VonC

Elbette. Ama öncelikle bununla ilgili iki satır açıklama bilmek istiyorum, bundan sonra bir sonraki adımı atacağım.
DRAJI

3
örneğin, UNIX Bash ve Git Bash arasındaki fark nedir?
Alexander Mills

22

Soru soranın git bash'ın git init veya git checkout gibi bir komut olduğunu düşünüyor (olduğunu) düşünüyorum . Git bash bir komut değil, bir arayüzdür . Ayrıca soruyu soranın bir linux kullanıcısı olmadığını varsayacağım çünkü bash, unix / linux dünyasında çok popüler. "Bash" adı " B ourne A gain SH ell" in kısaltmasıdır . Bash, otomatikleştirilmiş komut dosyalarının çalıştırılmasına izin veren özelliklere sahip bir salt metin komut arayüzüdür. Bir iyi bir benzetme yeniye bash karşılaştırmak olacaktır PowerShell Windows7 / 8'de arayüzünde. bir yoksulbenzetme (ancak daha fazla kişi tarafından daha kolay anlaşılacak olanı), komut istemi ve DOS günlerinden .BAT (toplu iş) komut dosyalarının ve Windows'un eski sürümlerinin birleşimidir .

REFERANSLAR:


10

Bash, yirmi yedi yıldan daha uzun bir süre önce Brian Fox tarafından Bourne Shell için ücretsiz bir yazılım alternatifi olarak oluşturulmuş bir Komut Satırı Arayüzüdür. Kabuk, belirli bir Komut Satırı Arayüzü türüdür. Bash "açık kaynak" dır, yani herkes kodu okuyabilir ve değişiklik önerebilir. Başlangıcından bu yana, onu inanılmaz bir araç haline getirmek için çalışan büyük bir mühendis topluluğu tarafından desteklenmiştir. Bash, Linux ve Mac için varsayılan kabuktur. Bu nedenlerden dolayı, Bash en çok kullanılan ve en çok dağıtılan kabuktur.

Windows, Komut İstemi adı verilen farklı bir Komut Satırı Arayüzüne sahiptir. Bu, Bash ile aynı özelliklerin çoğuna sahip olsa da, Bash çok daha popüler. Açık kaynak topluluğunun gücü ve sağladıkları araçlar nedeniyle, Bash'te uzmanlaşmak, Komut İstemi'ne hakim olmaktan daha iyi bir yatırımdır.

Bash'i bir Windows bilgisayarda kullanmak için Git Bash adlı bir programı indirip yüklememiz gerekir. Git Bash (Is the Bash for windows), Bash'e ve ayrıca Windows ortamında Git adlı başka bir araca kolayca erişmemizi sağlar.


1
Bir kenara, Windows için mevcut CLI PowerShell'dir. Eski DOS tabanlı CMD kabuğu hala uyumluluk için var ama MSFT tüm dikkatini PS'ye odaklıyor. Gerçekten, Unix tabanlı kabukların boru yönelimli özelliklerini (bash, sh, csh, ksh, zsh, vb.) Almak ve onları yalnızca metin yerine geçen nesnelere izin verecek şekilde genişletmek çok güzel.
Peter Halverson

3

Özünde Git, Unix tarzı bir komut satırı ortamında çalışmak üzere tasarlanmış bir dizi komut satırı yardımcı programıdır. Linux ve macOS gibi modern işletim sistemlerinin her ikisi de yerleşik Unix komut satırı terminalleri içerir. Bu, Git ile çalışırken Linux ve macOS işletim sistemlerini tamamlayıcı hale getirir. Microsoft Windows bunun yerine Unix dışı bir terminal ortamı olan Windows komut istemini kullanır.

Git Bash nedir?

Git Bash, Git komut satırı deneyimi için bir öykünme katmanı sağlayan Microsoft Windows ortamları için bir uygulamadır. Bash, Bourne Again Shell'in kısaltmasıdır. Kabuk, yazılı komutlar aracılığıyla bir işletim sistemi ile arayüz oluşturmak için kullanılan bir terminal uygulamasıdır. Bash, Linux ve macOS'ta popüler bir varsayılan kabuktur. Git Bash, Windows işletim sistemine Bash'i, bazı yaygın bash yardımcı programlarını ve Git'i yükleyen bir pakettir.

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


2
"Git, Unix tarzı bir komut satırı ortamında çalıştırmak için tasarlanmış bir dizi komut satırı yardımcı programıdır" ... Git'in Linus Torvalds ( en.wikipedia.org/wiki/Linus_Torvalds tarafından yaratıldığı düşünüldüğünde, bu doğru ve şaşırtıcı değil )
VonC
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.