Git Bash में और कमांड कैसे जोड़ें?


63

मैं विंडोज़ मशीन पर काम कर रहा हूं और मैं बैश शेल का उपयोग करता हूं जो गिट के साथ आता है। लेकिन कई उपयोगिताओं हैं जो बैश शेल के इस संस्करण में गायब हैं।

मैं इस शेल पर अधिक कमांड कैसे स्थापित कर सकता हूं?


3
आपने क्या प्रयास किया?
030

3
many utilities are missing in this version of bash shell। कृपया यह जोड़ें कि कौन सी कमांड गायब हैं जिनका आप उपयोग करना चाहते हैं।
०३०

3
हाल ही में डिफ़ॉल्ट रूप से शामिल नहीं की गई उपयोगिताओं का उपयोग करने के लिए बहुत अधिक हाल के और आसान तरीके के लिए serverfault.com/a/872557/212162 देखें ।
अगली जुलाब 22'18

जवाबों:


16

Git के दो संस्करण हैं जिनका आप उपयोग करने की संभावना रखते हैं - msysgit वितरण या Cygwin

Cygwin के लिए अतिरिक्त उपयोगिताएँ स्थापित करना

हालाँकि आपने Git को केवल आपके Cygwin इंस्टॉल (यदि आपने Cygwin का उपयोग किया है) के एक भाग के रूप में स्थापित किया है, तो Cygwin में setup.exe नामक एक प्रोग्राम है जिसे आप पैकेजों को जोड़ने के लिए उपयोग कर सकते हैं। अनिवार्य रूप से, आपको बस setup.exeइतना करना है कि आप चुनिंदा संकुल विंडो में जाने पर कौन से प्रोग्राम इंस्टॉल करना चाहते हैं। परिचय यहाँ छवियों कि विस्तार की प्रक्रिया के साथ एक अच्छा सिंहावलोकन प्रदान करता है।

साइगविन का इंस्टॉलर यह पता लगाने के लिए पर्याप्त स्मार्ट है कि आपके पास एक preexisting इंस्टॉलेशन है, और यह आपके इंस्टॉलेशन में पैकेज जोड़ देगा (इसके बजाय इसे शुरू करने और खत्म करने के बजाय)।

MSYS

Git का दूसरा संस्करण जो आप उपयोग कर रहे हैं (यदि Cygwin नहीं है) msysgit है। क्योंकि msysgit एक न्यूनतम यूनिक्स वातावरण स्थापित करता है, जो वास्तव में MinGW के साथ संगत नहीं है, आप अंत में msysgit के साथ MinGW सुइट स्थापित करने वाले हैं। MinGW प्रारंभ करना पृष्ठ, MinGW स्थापित करने के बारे में जाने के बारे में एक विस्तृत अवलोकन देता है - चूंकि मुझे व्यक्तिगत रूप से MinGW के साथ कोई अनुभव नहीं है, मैं वास्तव में कर सकता हूं कि आप उनके निर्देशों का संदर्भ दें।

फिर आपको अपने msysgit की स्थापना MinGW में करनी होगी। इसे निम्नलिखित ( यहाँ से लिया गया ) करके पूरा किया जा सकता है । निम्नलिखित अनुक्रम किए जाने के बाद, मिनगवे को आपके गिट इंस्टॉलेशन को ढूंढना चाहिए।

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

2
किसी को भी आश्चर्य हो, तो msysgit पैकेज पर cygwin इंस्टॉलर का उपयोग करने की कोशिश न करें। यह आंशिक रूप से काम करता है ... लेकिन निर्भरता का समाधान करते समय, यह sh.exe (जो आपके वातावरण को महत्वपूर्ण रूप से बदलता है) को बदल देगा
क्रिस बेटी

5
मुझे कैसे पता चलेगा कि मेरे git-bash cygwin या msys का उपयोग करते हैं?
lmo

7
मैंने git-scm.com/download/win से इंस्टॉल किया है जो कि msysgit या cygwin है? EDIT ने इसका पता लगाया। इस टिप्पणी को हटाने के बजाय, मैं कहूंगा कि यह msysgit है।
सीमित प्रायश्चित

3
@LimitedAtonement - कृपया यह भी कहें कि आपने इसे कैसे निकाला, अन्य पाठकों के लिए (जैसे खुद) जिन्होंने खुद से एक ही सवाल पूछा है।
इयाना

4
आप बता सकते हैं कि आपने uname -oबैश टर्मिनल में चलाकर क्या स्थापित किया है ।
क्लिफ आर्मस्ट्रांग

5

विंडोज इंस्टॉलेशन के लिए हालिया गिट के साथ , अतिरिक्त शेल स्क्रिप्ट और प्रोग्राम स्थापित करना बहुत आसान है।

मैं चॉकलेट का उपयोग करके गिट स्थापित करने की सलाह देता हूं choco install git, क्योंकि आप निष्पादित करके गिट (और चॉकलेट के साथ स्थापित अन्य सभी उपकरण) को अपडेट कर सकते हैं choco upgrade all

सीधे शब्दों में निष्पादन योग्य C:\Program Files\Git\usr\bin( %ProgramFiles%\Git\usr\bin) डालें ।

उदाहरण के लिए git-fresh

फ़ाइल git-fresh को कॉपी करें C:\Program Files\Git\usr\bin

Adr-tools का उदाहरण

  1. रिलीज़ पृष्ठ से ज़िप पैकेज डाउनलोड करें
  2. पैकेज खोलना
  3. src/में से सब कुछ कॉपी करेंC:\Program Files\Git\usr\bin

4

यदि आप msysgit का उपयोग कर रहे हैं, तो एक सरल विकल्प केवल MinGW को स्थापित करना है और फिर अपने Git इंस्टॉलेशन के लिए उपयोग की जा रही .bashrc फ़ाइल में MINGW पथ जोड़ें:

    PATH=$PATH:/MINGW/msys/1.0/bin

... जहाँ MINGW वह जगह है जहाँ आपने MinGW स्थापित किया है

इस तरह से आप अपने Git bash इंस्टॉलेशन से सीधे MinGW टूल्स का उपयोग कर सकते हैं, और यदि आपको किसी अन्य bash टूल की आवश्यकता है तो आप इसे केवल MinGW में इंस्टॉल कर सकते हैं।


1

आप Wget, Hugo, Xpdf, make, Nanoयहाँ से अतिरिक्त यूनिक्स इकाइयाँ डाउनलोड कर सकते हैं: https://gist.github.com/evanwill/0207876c3243bb6863e65ec5dc3f058

wget

  • अनंत काल से खिड़कियों के लिए नवीनतम वाइस्ट बाइनरी डाउनलोड करें (वे प्रलेखन के साथ ज़िप के रूप में उपलब्ध हैं, या सिर्फ एक एक्सई)
  • यदि आपने ज़िप डाउनलोड किया है, तो सभी को निकालें (यदि ज़िप उपयोगिता में निर्मित विंडोज़ एक त्रुटि देता है, तो 7-ज़िप का उपयोग करें )।
  • यदि आवश्यक wget64.exeहो wget.exeतो फ़ाइल का नाम बदलें ।
  • wget.exeअपने पास ले जाएं Git\mingw64\bin\

नोट: मैंने WARC फ़ाइलों को बनाने के लिए Git Bash पर Wget का उपयोग करते समय कुछ कीड़े देखे हैं। Wget के अधिक जटिल उपयोग के लिए, इसके बजाय Cygwin पर विचार करें ।

ह्यूगो

ह्यूगो स्टेटिक साइट जनरेटर को बाइनरी के रूप में डाउनलोड किया जा सकता है और इसमें इंस्टॉलर नहीं है। इसे अपने binआसानी से छोड़ना इसे आपके गिट बैश पथ में जोड़ता है। रिलीज पृष्ठ से विंडोज 64-बिट संस्करण को पकड़ो । डाउनलोड को अनज़िप करें, फिर hugo.exeअपनी Git\mingw64\binनिर्देशिका में कॉपी करें ।

xpdf

Xpdf पीडीएफ फाइलों में हेरफेर करने के लिए एक उपयोगी उपयोगिता है।

बनाना

  • Ezwinports पर जाएं ।
  • डाउनलोड करें make-4.1-2-without-guile-w32-bin.zip(बिना गाइड के संस्करण प्राप्त करें)।
  • जिप निकालें।
  • अपने Git\mingw64\मर्ज किए गए फ़ोल्डर में सामग्री की प्रतिलिपि बनाएँ , लेकिन किसी भी मौजूदा फ़ाइल को अधिलेखित / प्रतिस्थापित न करें।

नैनो

2018 के अनुसार, गिट बैश के हाल के संस्करणों में नैनो शामिल है, इसलिए यह अनावश्यक है!

  • नैनो win32-support पेज से नैनो बाइनरी डाउनलोड करें । आपको बस .exeफ़ाइल की आवश्यकता है , जिसका नाम nano-git-0d9a7347243.exe(इस लेखन के रूप में) है।
  • फ़ाइल का नाम बदलें nano.exeऔर mingw64\binनिर्देशिका में प्रतिलिपि बनाएँ ।
  • नैनो का यह संस्करण अकेले गैट बैश के साथ काम नहीं करेगा, लेकिन winptyउदाहरण के लिए, का उपयोग करके इसे लागू किया जा सकता है winpty nano test.txt

1

मुझे आज एक बहुत ही सरल उत्तर मिला, जिसके लिए मैंने काम किया rsync

  1. विंडोज के लिए गिट बैश स्थापित करें
  2. Futureware.at * rsyncसे डाउनलोड करें
  3. कहीं भी निकालें, मैं चुनता हूं C:\rsync-3.1.2-2-x86_64.pkg
  4. बिन फ़ोल्डर को अपने सिस्टम पथ के शीर्ष पर जोड़ें

* मुझे नहीं पता कि Futureware.at के पीछे कौन है, मैं अधिक प्राथमिक स्रोत से लिंक करना पसंद करूंगा।


@ आपका उत्तर समान है, सिवाय इसके कि मैंने
बजे

1

मैंने git-bash में निम्नलिखित और स्थापित emacs की कोशिश की .. 1. msys2 को कहीं स्थापित करें (एक ही कंप्यूटर नहीं होना चाहिए)। 2. msys2 के तहत, निम्नलिखित चलाएँ:

   cd /tmp
    mkdir -p var/lib
    cp -R /var/lib/pacman var/lib/
    pacman -Sr /tmp emacs
    tar zcf emacs.tar.gz usr
  1. emacs.tar.gzजहां आप गिट-बैश से पहुंच सकते हैं, वहां कॉपी करें , फिर गिट-बैश के तहत:

    tar zxf emacs.tar.gz -C / emacs

यह सब अच्छा है।

पहली पोस्ट के बाद, मैंने दूसरे कंप्यूटर की कोशिश की, लेकिन काम नहीं कर रहा था। यह पता चला है कि कुछ dll git-bash में गायब है। फिर मैंने निम्नलिखित चरणों के साथ एक साफ आभासी मशीन में परीक्षण किया:

  1. Msys2-x86_64-20180531 और Git-2.19.1-64- बिट स्थापित करें ।

  2. Msys2 अपडेट करें, msys64 कंसोल खोलें और चलाएँ:

    pacman -Syyu
    

    संकेत मिलने पर msys64 कंसोल बंद करें, फिर ऊपर दिए गए कमांड को फिर से चलाएं।

  3. Emacs फ़ाइलों को पिछले चरणों के रूप में प्राप्त करें (msys64 में निम्न को चलाएँ):

    cd /tmp
    mkdir -p var/lib
    cp -R /var/lib/pacman var/lib/
    pacman -Sr /tmp emacs
    tar zcf emacs.tar.gz usr
    mv emacs.tar.gz /c/tmp
    

    ps: मैंने एक बार उपरोक्त चरणों को / tmp के बजाय / d / tmp में आज़माया था और इसे emacs स्थापित करने में सक्षम नहीं था।

  4. ओपन गिट-बैश और इमैक फाइल निकालें:

    cd /c/tmp
    tar zxf emacs.tar.gz -C /
    

    यह लापता साझा पुस्तकालय की शिकायत करेगा "?" अब emacs चलाने की कोशिश कर रहा है। "?" किसी भी पठनीय के लिए प्रकट नहीं होगा

  5. Msys64 पर वापस जाएं और msys2 dlls प्राप्त करें:

    ls --color=never /bin/*.dll > /c/tmp/1.txt
    
  6. गिट-बैश में एमएस के साथ dll की तुलना करें:

    cd /c/tmp
    git init
    git add 1.txt && git commit
    ls --color=never /bin/*.dll | sed 's#\*$##g' > /c/tmp/1.txt
    git diff 1.txt | grep '^-' | sed '1d' | sed 's#^-/bin/##g' > diff_dlls.txt
    

    मेरे मामले में, diff_dlls.txt में 26 dll हैं।

  7. Msys64 से git-bash में dll की प्रतिलिपि बनाएँ:

    Msys64 में:

    mkdir /c/tmp/dlls
    cat /c/tmp/diff_dlls.txt | xargs -I {} cp /bin/{} /c/tmp/dlls
    

    गिट-बैश में:

    cp /c/tmp/dlls/* /bin
    
  8. सब किया, अब git-bash में emacs चलता है। 26 dll में से कुछ आवश्यक नहीं हो सकता है, लेकिन मैं डिस्क स्थान के बजाय अपना समय बचाने के लिए पसंद करेंगे।


0

अगर Windows (MinGW64) के लिए Git bash का उपयोग किया जाता है, तो मुझे इसमें जोड़ने के लिए rsync करने में बहुत कठिन समय मिल रहा था। त्रुटि प्राप्त करना: डुप्लिकेट () / बाहर / गलत विफल रहा

इसके बजाय, साइगविन ने अंततः काम किया।

Windows के लिए Gitbash में rysnc का उपयोग करने के लिए मैंने जो कदम उठाए

  1. खिड़कियों के लिए gitbash स्थापित करें
  2. Cygwin64 स्थापित करें
  3. Windows पथ चर के लिए cygwin पथ जोड़ें

    विंडोज-> सिस्टम-> उन्नत सेटिंग्स-> पर्यावरण चर

    C: \ cygwin64 \ bin \ के लिए एक पथ जोड़ें

  4. Gitbash को बंद करें और फिर से खोलें अब gitbash को cygwin \ bin में rsync.exe मिलेगा
  5. मुझे cygwin1.dll के लिए असंगत संस्करण त्रुटि मिल रही थी

    *** घातक त्रुटि - साइबर बेस बेमेल का पता चला

  6. हालांकि कुछ ने कहा कि एक रिबूट इसे ठीक कर देगा, यह नहीं किया।
  7. संस्करण त्रुटि को हल करने के लिए, मैंने cygwin के पुराने संस्करण से cygwin \ bin निर्देशिका की प्रतिलिपि बनाई - संस्करण 1.7.30 ने काम किया


0

कोई स्क्रिप्ट बनाने और उन्हें ~/.bash_profileफ़ाइल में परिभाषित करके कॉल करने के लिए गिट-बैश में कई सुविधाओं का विस्तार कर सकता है ।

उदाहरण

यदि कोई watchकमांड का उपयोग करना चाहता है , तो इस स्क्रिप्ट को इसमें जोड़ा जा सकता है ~/.bash_profile:

https://gist.github.com/espaciomore/28e24ce4f91177c0964f4f67bb5c5fda

ARGS="${@}"
clear;
while(true); do
  OUTPUT=`$ARGS`
  clear
  echo -e "${OUTPUT[@]}"
done

और इसे एक फंक्शन के अंदर लपेटें:

watch() {
  ARGS="${@}"
  clear;
  while(true); do
    OUTPUT=`$ARGS`
    clear
    echo -e "${OUTPUT[@]}"
  done
}

जैसे ही कोई फ़ाइल को सहेजता है और चलाता है source ~/.bash_profileतो किसी को कमांड का आउटपुट देखने में सक्षम होना चाहिए।


0

"विंडोज एसडीके के लिए गिट" स्थापित करें ( https://gitforwindows.org/ के नीचे स्क्रॉल करें) जो https://github.com/git-for-windows/build-extra/releases से इसके लिए इंस्टॉलर डाउनलोड करने के लिए एक लिंक प्रदान करता है। / नवीनतम )

https://stackoverflow.com/questions/32712133/package-management-in-git-for-windows/52105321#52105321


-1

जोड़ने के लिए rsync

आप rsync फ़ाइल को सीधे mysys से डाउनलोड कर सकते हैं । बस rsync के लिए पृष्ठ खोजें और नवीनतम तिथि / नवीनतम संस्करण संख्या के साथ एक का चयन करें।
इस फ़ाइल को अनपैक करें ( rsync-3.1.3-1-x86_64.pkg.tar.xz) के माध्यम से

tar -xf rsync-3.1.3-1-x86_64.pkg.tar.xz

फिर rsync पर ./usr/bin/rsync.exe कॉपी करें और इसे अपने Git इंस्टॉलेशन के / usr / bin फ़ोल्डर में पेस्ट करें।
मेरी मशीन पर, वह हैC:/Program Files/Git/usr/bin/

आप के माध्यम से अपने Git स्थापना का स्थान देख सकते हैं

where git

यहाँ उनके रिप्ले द्वारा एक जिस्ट रेपो है जिसमें rsync https://gist.github.com/hisplan/ee54e48f17b92c6609ac16f8f7373dde6 पर 3.1.3-1 संस्करण के लिंक के साथ निर्देश दिए गए हैं ।

नोट: मैं rsync-3.1.3-1-x86_64.pkg.tar.xzफ़ाइल को सीधे Git फ़ोल्डर में अनपैक नहीं कर सका , क्योंकि अनुमतियों ने इसकी अनुमति नहीं दी थी। और गित बश में सुडो नहीं है।
लेकिन मैं इसे सीधे अपने डाउनलोड फ़ोल्डर में खोल सकता हूं कोई समस्या नहीं है।
यह वैसे ही है, क्योंकि आपको केवल rsync.exeफ़ाइल की आवश्यकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.