Saya dengan senang hati menggunakan Git dan Git Bash dari https://git-scm.com/ . Ada halaman dengan informasi lebih lanjut di sini: https://git-for-windows.github.io/ .
Kemarin saya mengalami masalah dengan rsync
, dan saya mulai menggali lebih dalam ke Git Bash untuk Windows. Saya menyadari bahwa saya bahkan tidak yakin dengan nama program Bash, karena hanya dibundel dengan unduhan git-scm. Saya menyebutnya Git Bash untuk Windows, yang tampaknya masuk akal.
Dalam melihat ke "Apa Git Bash" Saya membaca tentang Cygwin dan berbeda hal yang disebut mysys2 , yang tampaknya berhubungan dengan mysysGit
, dan aku melihat referensi ke MinGW
. Tapi, kemudian saya melihat di FAQ bahwa mintty adalah terminal default untuk Git Bash.
Tampaknya aplikasi Bash sebenarnya adalah kumpulan barang-barang lain yang dikuratori secara khusus (kebanyakan terdaftar di atas) yang tersedia secara independen.
Pada dasarnya, saya ingin tahu apa dasar yang membuat perintah * nix seperti ssh
scp
cat
ls
bekerja di Git Bash untuk Windows?
(Saya pikir jawaban yang baik akan membantu seseorang memahami, secara garis besar, bagaimana komponen-komponen ini cocok bersama dan memahami kata-kata yang tepat untuk komponen, tetapi saya tidak ingin memecah format SO pertanyaan / jawaban.)
rsync
pertanyaan awal saya !!Jawaban:
Ringkasan
Anda benar, Git Bash untuk Windows tidak hanya
bash
dikompilasi untuk Windows. Ini paket yang berisibash
(yang merupakan baris perintah shell ) dan koleksi lainnya, yang terpisah * nix utilitas sepertissh
,scp
,cat
,find
dan lain-lain (yang Anda jalankan menggunakan shell), dikompilasi untuk Windows, dan terminal antarmuka baris perintah baru jendela yang disebutmintty
.Pendeknya
Di Windows Anda dapat menjalankan perintah like
ipconfig /all
atauformat G:
usingcmd.exe
. Perintah-perintah ini adalah file yang sebenarnya dapat dieksekusi di bawahC:\Windows\system32
, disimpan sebagaiipconfig.exe
danformat.com
file.cmd.exe
terpisah dari keduanya dan memuat dan menjalankannya atas permintaan pengguna.ssh
,scp
,cat
,find
Dijalankan menggunakanbash
dengan cara yang persis sama. Mereka biasanya disimpan di bawah/usr/bin
daripada diC:\Windows\system32
dalam sistem * nix, karena Windows dan * nix memiliki struktur file sistem mereka diatur secara berbeda.Dalam kasus Git Bash untuk Windows, program ini terletak di folder instalasi Git:,
C:\Program Files\Git\usr\bin
yang juga dapat ditemukan di lingkungan Linux yang ditiru di bawah/usr/bin
.Sama seperti hanya bisa berjalan
cmd.exe
di * nix tidak memungkinkan Anda untuk melakukan banyak tanpa utilitas sistem lain, hanya bisa menjalankan Bash pada Windows juga tidak terlalu berguna. Ini berarti bahwa semua perintah tambahan ini harus digabungkan bersama dengan Bash untuk membuat paket perangkat lunak yang dapat digunakan.Detail: Aplikasi POSIX pada Windows
Biasanya perintah-perintah tambahan akan ditemukan pada sistem * nix dan bukan pada Windows, karena mereka telah diprogram terhadap API pemrograman POSIX (yang digunakan * nix), dan bukan Win32 API (yang digunakan Windows). Dokumentasi POSIX API tersedia secara terbuka, sehingga beberapa orang telah memindahkannya ke sistem lain, termasuk Windows. Implementasi POSIX APIs / libraries disediakan oleh
Cygwin
danMSYS
.Ini mirip dengan apa yang dilakukan proyek Wine , tetapi ia mengubah POSIX-> Windows daripada Windows-> POSIX seperti Wine.
mintty
mintty
dimasukkan karenacmd.exe
, jendela baris perintah Windows default, tidak memiliki beberapa fitur penting yang biasanya tersedia pada kebanyakan sistem * nix. Dalam kebanyakan kasus,mintty
ini adalah pilihan yang lebih baik untuk menjalankan perintah (tentunya untuk utilitas yang datang dengan paket Git Bash untuk Windows), tetapi kadang-kadang aplikasi sistem Windows dapat bekerja dengan lebih baikcmd.exe
.sumber
ssh
scp
cat
ls
berfungsi di Git Bash untuk Windows?" . Posting Pabru menjawab kedua pertanyaan dengan cukup baik dan merupakan jawaban yang benar bagi siapa pun yang mungkin memiliki pertanyaan yang sama (seperti yang dinyatakan), jadi dengan menerimanya Anda membantu pengguna lain. Sudahkah Anda mencoba memposting pertanyaan baru untukrsync
masalah ini?Latar Belakang
Saya adalah OP. Saya awalnya hanya ingin tahu nama formal untuk hal yang saya gunakan.
Sekarang saya pikir namanya "Git Bash for Windows". Sayangnya jawaban lengkapnya rumit karena hal ini sebenarnya banyak hal.
Jawaban teratas dari 2016 pada awalnya tidak membantu saya, tetapi telah banyak diedit dan semakin bermanfaat. Tetap saja, ia melewatkan beberapa pertanyaan awal saya.
Awal mula:
msysgit
Sebenarnya, awalnya mungkin
MSYS
, tapi sungguhMSYS2
. Istilah "msysgit" adalah istilah yang baik untuk melakukan pencarian untuk mencari tahu apa yang terjadi ketika XYZ salah; hal-hal seperti "di mana di @ * #! Apakah semua pengaturan autocrlf disimpan?!?!?!?"README ( https://github.com/msysgit/msysgit ) dalam proyek msysgit menjelaskan hubungan antara komponen-komponen:
BTW, kalau-kalau README penuh akan dihapus, saya menyalinnya ke intisari .
Jendela terminal:
mintty
Bagian lain dari Git Bash untuk windows adalah baris perintah Windows yang sebenarnya, mintty. Syukurlah itu ada, tapi itu bukan sesuatu yang saya butuhkan untuk google.
Referensi untuk MSYS2
Wiki mereka adalah harta karun rincian tentang lingkungan MSYS2: https://github.com/msys2/msys2/wiki
Dalam pengantar, bagian ini paling relevan dengan pertanyaan awal saya:
Diskusi ini juga sangat membantu: https://sourceforge.net/p/msys2/discussion/general/thread/dcf8f4d3/#8473/588e
sumber