Saya bekerja pada mesin windows dan saya menggunakan bash shell yang dilengkapi dengan Git. Tetapi ada banyak utilitas yang tidak ada dalam versi bash shell ini.
Bagaimana saya bisa menginstal lebih banyak perintah pada shell ini?
many utilities are missing in this version of bash shell. Silakan tambahkan perintah apa yang tidak ada yang ingin Anda gunakan.
030
3
Lihat serverfault.com/a/872557/212162 untuk cara yang jauh lebih baru dan lebih mudah menggunakan utilitas yang tidak termasuk secara default.
nextgentech
Jawaban:
16
Ada dua versi Git yang kemungkinan akan Anda gunakan - distribusi msysgit atau Cygwin .
Menginstal Utilitas Tambahan Untuk Cygwin
Meskipun Anda mungkin hanya menginstal Git sebagai bagian dari instalasi Cygwin Anda (jika Anda menggunakan Cygwin), Cygwin memiliki program yang disebut setup.exe yang dapat Anda gunakan untuk menambahkan paket. Pada dasarnya, yang harus Anda lakukan adalah menjalankan setup.exedan memilih program apa yang ingin Anda instal ketika Anda masuk ke jendela Select Packages . Pendahuluan di sini memberikan gambaran umum yang baik dengan gambar yang merinci prosesnya.
Penginstal Cygwin cukup pintar untuk mengetahui bahwa Anda memiliki instalasi yang sudah ada sebelumnya, dan itu akan menambahkan paket ke instalasi Anda (bukan nuking dan mulai lagi dari awal).
MSYS
Versi lain dari Git yang mungkin Anda gunakan (jika bukan Cygwin) adalah msysgit. Karena msysgit menginstal lingkungan Unix minimal yang tidak benar-benar kompatibel dengan MinGW, Anda akhirnya harus menginstal suite MinGW di samping msysgit. Halaman Memulai MinGW memberikan gambaran terperinci tentang bagaimana cara menginstal MinGW - karena saya tidak memiliki pengalaman dengan MinGW secara pribadi, yang bisa saya lakukan hanyalah merujuk Anda ke instruksi mereka.
Anda kemudian harus memigrasi instalasi msysgit Anda ke MinGW. Ini dapat dicapai dengan melakukan hal berikut (diambil dari sini ). Setelah urutan berikut selesai, MinGW akan menemukan instalasi Git Anda.
cd GITDIR # Where GITDIR is wherever inside Program Files you put Git
cp bin/git* /MINGW/bin # Where MINGW is wherever you put MinGW
cp -r libexec/git* /MINGW/libexec
cp -r share/git* /MINGW/share
Bagi siapa pun yang bertanya-tanya, jangan mencoba menggunakan penginstal cygwin pada paket msysgit. Ini sebagian berfungsi ... tetapi sementara menyelesaikan dependensi, itu akan menggantikan sh.exe (yang mengubah lingkungan Anda secara signifikan).
Chris Betti
5
Bagaimana saya tahu jika git-bash saya menggunakan cygwin atau msys?
lmo
7
Saya menginstal dari git-scm.com/download/win apakah itu msysgit atau cygwin? EDIT Menemukannya. Daripada menghapus komentar ini, saya akan mengatakan bahwa ini msysgit.
Penebusan Terbatas
3
@LimitedAtonement - Tolong juga katakan bagaimana Anda mengetahuinya, untuk pembaca lain (seperti saya) yang telah mengajukan pertanyaan yang sama kepada diri mereka sendiri.
Ioanna
4
Anda dapat mengetahui apa yang telah Anda instal dengan menjalankan uname -odi terminal bash.
Saya sarankan menginstal git menggunakan chocolateychoco install git , karena Anda dapat memperbarui git (dan semua alat lain yang diinstal dengan chocolatey) dengan mengeksekusi choco upgrade all.
Sederhananya executable ke C:\Program Files\Git\usr\bin( %ProgramFiles%\Git\usr\bin).
Jika Anda menggunakan msysgit, opsi sederhana adalah hanya menginstal MinGW dan kemudian menambahkan path MINGW ke file .bashrc yang Anda gunakan untuk instalasi Git Anda:
PATH=$PATH:/MINGW/msys/1.0/bin
... di mana MINGW adalah tempat Anda menginstal MinGW
Dengan begitu Anda dapat menggunakan alat MinGW langsung dari instalasi bash Git Anda, dan jika Anda memerlukan alat bash lain, Anda dapat menginstalnya ke MinGW.
Unduh biner wget terbaru untuk windows dari selamanya (tersedia sebagai zip dengan dokumentasi, atau hanya sebuah exe)
Jika Anda mengunduh zip, ekstrak semua (jika windows built in zip utility memberikan kesalahan, gunakan 7-zip ).
Ubah nama file wget64.exeuntuk wget.exejika perlu.
Pindah wget.exeke Git\mingw64\bin\.
Catatan: Saya perhatikan beberapa bug saat menggunakan Wget di Git Bash untuk membuat file WARC. Untuk penggunaan Wget yang lebih kompleks, pertimbangkan Cygwin .
Hugo
Hugo static site generator dapat diunduh sebagai biner dan tidak memiliki pemasang. Menjatuhkannya ke dalam Anda bindengan mudah menambahkannya ke jalur Git Bash Anda. Raih versi Windows 64-bit dari halaman rilis . Buka zip unduhan, lalu salin hugo.exeke Git\mingw64\bindirektori Anda .
Xpdf
Xpdf adalah utilitas praktis untuk memanipulasi file PDF.
@ Mike jawaban Anda mirip, kecuali bahwa saya tidak menginstal cygwin64
geneorama
1
Saya mencoba yang berikut ini dan menginstal emacs ke git-bash .. 1. Instal msys2 di suatu tempat (tidak harus komputer yang sama). 2. Di bawah msys2, jalankan yang berikut:
cd /tmp
mkdir -p var/lib
cp -R /var/lib/pacman var/lib/
pacman -Sr /tmp emacs
tar zcf emacs.tar.gz usr
Salin emacs.tar.gzke tempat Anda dapat mengakses dari git-bash, lalu di bawah git-bash:
tar zxf emacs.tar.gz -C / emacs
Itu saja, semoga sukses.
Setelah posting pertama, saya mencoba komputer lain tetapi tidak berfungsi. Ternyata beberapa dll hilang di git-bash. Lalu saya menguji di mesin virtual bersih dengan langkah-langkah berikut:
Semua selesai, sekarang emacs berjalan di git-bash. Beberapa dari 26 dll mungkin tidak diperlukan, tetapi saya lebih memilih untuk menghemat waktu saya daripada ruang disk.
Jika menggunakan Git bash untuk Windows (MinGW64), saya kesulitan mendapatkan rsync untuk ditambahkan. terus mendapatkan kesalahan: dup () in / out / err gagal
Sebaliknya, menggunakan Cygwin akhirnya berhasil.
Langkah-langkah yang saya ambil untuk menggunakan rysnc di Gitbash untuk Windows
Instal gitbash untuk windows
Instal cygwin64
Tambahkan jalur cygwin ke variabel jalur Windows
Windows-> System-> Setings canggih-> Variabel Lingkungan
Tambahkan jalur untuk C: \ cygwin64 \ bin \
Tutup dan buka kembali gitbash Sekarang gitbash akan menemukan rsync.exe di cygwin \ bin
Saya mendapatkan kesalahan versi yang tidak kompatibel untuk cygwin1.dll
Anda dapat mengunduh file rsync langsung dari mysys . Cukup cari halaman untuk rsync dan pilih yang dengan tanggal / nomor versi terbaru.
Buka paket file ini ( rsync-3.1.3-1-x86_64.pkg.tar.xz) via
tar -xf rsync-3.1.3-1-x86_64.pkg.tar.xz
Kemudian salin rsync di ./usr/bin/rsync.exe
dan tempel ke folder / usr / bin pada instalasi Git Anda.
Di mesin saya, ituC:/Program Files/Git/usr/bin/
Anda dapat melihat lokasi instalasi Git Anda melalui
Catatan: Saya tidak bisa membongkar rsync-3.1.3-1-x86_64.pkg.tar.xzfile langsung ke folder Git, karena izin tidak mengizinkannya. Dan Git Bash tidak memiliki sudo.
Tapi saya bisa membongkarnya langsung ke folder Unduhan saya tidak ada masalah.
Itu juga, karena Anda hanya perlu rsync.exefile itu.
many utilities are missing in this version of bash shell
. Silakan tambahkan perintah apa yang tidak ada yang ingin Anda gunakan.Jawaban:
Ada dua versi Git yang kemungkinan akan Anda gunakan - distribusi msysgit atau Cygwin .
Menginstal Utilitas Tambahan Untuk Cygwin
Meskipun Anda mungkin hanya menginstal Git sebagai bagian dari instalasi Cygwin Anda (jika Anda menggunakan Cygwin), Cygwin memiliki program yang disebut setup.exe yang dapat Anda gunakan untuk menambahkan paket. Pada dasarnya, yang harus Anda lakukan adalah menjalankan
setup.exe
dan memilih program apa yang ingin Anda instal ketika Anda masuk ke jendela Select Packages . Pendahuluan di sini memberikan gambaran umum yang baik dengan gambar yang merinci prosesnya.Penginstal Cygwin cukup pintar untuk mengetahui bahwa Anda memiliki instalasi yang sudah ada sebelumnya, dan itu akan menambahkan paket ke instalasi Anda (bukan nuking dan mulai lagi dari awal).
MSYS
Versi lain dari Git yang mungkin Anda gunakan (jika bukan Cygwin) adalah msysgit. Karena msysgit menginstal lingkungan Unix minimal yang tidak benar-benar kompatibel dengan MinGW, Anda akhirnya harus menginstal suite MinGW di samping msysgit. Halaman Memulai MinGW memberikan gambaran terperinci tentang bagaimana cara menginstal MinGW - karena saya tidak memiliki pengalaman dengan MinGW secara pribadi, yang bisa saya lakukan hanyalah merujuk Anda ke instruksi mereka.
Anda kemudian harus memigrasi instalasi msysgit Anda ke MinGW. Ini dapat dicapai dengan melakukan hal berikut (diambil dari sini ). Setelah urutan berikut selesai, MinGW akan menemukan instalasi Git Anda.
sumber
uname -o
di terminal bash.Dengan instalasi Git untuk Windows baru-baru ini , menginstal skrip dan program shell tambahan cukup mudah.
Saya sarankan menginstal git menggunakan chocolatey
choco install git
, karena Anda dapat memperbarui git (dan semua alat lain yang diinstal dengan chocolatey) dengan mengeksekusichoco upgrade all
.Sederhananya executable ke
C:\Program Files\Git\usr\bin
(%ProgramFiles%\Git\usr\bin
).Contoh untuk git-fresh
Salin file git-fresh ke
C:\Program Files\Git\usr\bin
.Contoh untuk adr-tools
src/
dalamC:\Program Files\Git\usr\bin
sumber
Jika Anda menggunakan msysgit, opsi sederhana adalah hanya menginstal MinGW dan kemudian menambahkan path MINGW ke file .bashrc yang Anda gunakan untuk instalasi Git Anda:
... di mana MINGW adalah tempat Anda menginstal MinGW
Dengan begitu Anda dapat menggunakan alat MinGW langsung dari instalasi bash Git Anda, dan jika Anda memerlukan alat bash lain, Anda dapat menginstalnya ke MinGW.
sumber
Anda dapat mengunduh unit Unix tambahan
Wget, Hugo, Xpdf, make, Nano
dari sini: https://gist.github.com/evanwill/0207876c3243bbb6868e65ec5dc3f058Wget
wget64.exe
untukwget.exe
jika perlu.wget.exe
keGit\mingw64\bin\
.Catatan: Saya perhatikan beberapa bug saat menggunakan Wget di Git Bash untuk membuat file WARC. Untuk penggunaan Wget yang lebih kompleks, pertimbangkan Cygwin .
Hugo
Hugo static site generator dapat diunduh sebagai biner dan tidak memiliki pemasang. Menjatuhkannya ke dalam Anda
bin
dengan mudah menambahkannya ke jalur Git Bash Anda. Raih versi Windows 64-bit dari halaman rilis . Buka zip unduhan, lalu salinhugo.exe
keGit\mingw64\bin
direktori Anda .Xpdf
Xpdf adalah utilitas praktis untuk memanipulasi file PDF.
xpdf-tools-win-4.00\bin64\
ke dalamGit\mingw64\bin\
.pdftotext
danpdftopng
.membuat
make-4.1-2-without-guile-w32-bin.zip
(dapatkan versi tanpa tipu daya).Git\mingw64\
penggabungan folder Anda, tetapi JANGAN menimpa / mengganti file yang ada.Nano
.exe
file, yang dinamainano-git-0d9a7347243.exe
(pada tulisan ini).nano.exe
, dan salin kemingw64\bin
direktori.winpty
, misalnyawinpty nano test.txt
,.sumber
Saya menemukan jawaban yang cukup sederhana untuk hari ini
rsync
.rsync
dari futureware.at *C:\rsync-3.1.2-2-x86_64.pkg
* Saya tidak tahu siapa yang ada di belakang futureware.at, saya lebih suka untuk menautkan ke sumber yang lebih utama.
sumber
Setelah posting pertama, saya mencoba komputer lain tetapi tidak berfungsi. Ternyata beberapa dll hilang di git-bash. Lalu saya menguji di mesin virtual bersih dengan langkah-langkah berikut:
Instal msys2-x86_64-20180531 dan Git-2.19.1-64-bit .
Perbarui msys2, buka konsol msys64 dan jalankan:
Tutup konsol msys64 saat diminta, lalu jalankan perintah di atas lagi.
Dapatkan file emacs sebagai langkah sebelumnya (jalankan yang berikut di msys64):
ps: Saya pernah mencoba langkah-langkah di atas dalam / d / tmp dan bukannya / tmp dan tidak dapat menginstal emacs untuk itu.
Buka git-bash dan ekstrak file emacs:
Itu akan mengeluh hilangnya shared library "?" mencoba menjalankan emacs sekarang. "?" tidak akan dibuka untuk dibaca
Kembali ke msys64 dan dapatkan msys2 dlls:
Dalam git-bash, bandingkan dll dengan msys:
Dalam kasus saya, ada 26 dll di diff_dlls.txt.
Salin dlls dari msys64 ke git-bash:
Dalam msys64:
Dalam git-bash:
Semua selesai, sekarang emacs berjalan di git-bash. Beberapa dari 26 dll mungkin tidak diperlukan, tetapi saya lebih memilih untuk menghemat waktu saya daripada ruang disk.
sumber
Jika menggunakan Git bash untuk Windows (MinGW64), saya kesulitan mendapatkan rsync untuk ditambahkan. terus mendapatkan kesalahan: dup () in / out / err gagal
Sebaliknya, menggunakan Cygwin akhirnya berhasil.
Langkah-langkah yang saya ambil untuk menggunakan rysnc di Gitbash untuk Windows
sumber
Seseorang dapat menambah jumlah fitur di git-bash dengan membuat skrip dan memanggilnya dengan mendefinisikannya dalam
~/.bash_profile
file.Contoh
Jika seseorang ingin menggunakan
watch
perintah, maka skrip ini dapat ditambahkan ke~/.bash_profile
:https://gist.github.com/espaciomore/28e24ce4f91177c0964f4f67bb5c5fda
dan bungkus di dalam fungsi:
Segera setelah seseorang menyimpan file dan menjalankannya
source ~/.bash_profile
maka seseorang harus dapat melihat output dari perintah.sumber
https://stackoverflow.com/questions/32712133/package-management-in-git-for-windows/52105321#52105321
sumber
menambahkan
rsync
Anda dapat mengunduh file rsync langsung dari mysys . Cukup cari halaman untuk rsync dan pilih yang dengan tanggal / nomor versi terbaru.
Buka paket file ini (
rsync-3.1.3-1-x86_64.pkg.tar.xz
) viaKemudian salin rsync di
./usr/bin/rsync.exe
dan tempel ke folder / usr / bin pada instalasi Git Anda.Di mesin saya, itu
C:/Program Files/Git/usr/bin/
Anda dapat melihat lokasi instalasi Git Anda melalui
Berikut adalah repo inti oleh hisplan yang memiliki instruksi bersama dengan tautan ke versi 3.1.3-1 di rsync https://gist.github.com/hisplan/ee54e48f17b92c6609ac16f83073dde6 .
Catatan: Saya tidak bisa membongkar
rsync-3.1.3-1-x86_64.pkg.tar.xz
file langsung ke folder Git, karena izin tidak mengizinkannya. Dan Git Bash tidak memiliki sudo.Tapi saya bisa membongkarnya langsung ke folder Unduhan saya tidak ada masalah.
Itu juga, karena Anda hanya perlu
rsync.exe
file itu.sumber