2009-03-08 11 views
39

यह हाल ही में question I asked से संबंधित है।विंडोज़ पर msysgit - मुझे क्या पता होना चाहिए, अगर कोई है?

  1. कभी खिड़कियों वातावरण बदलने के लिए:

    जब msysgit स्थापित करने, संस्थापक 3 सिस्टम पथ से संबंधित विकल्प प्रस्तुत करता है। इस विकल्प के साथ, आपको गिट के साथ काम करने के लिए "बैश" खोल का उपयोग करना होगा।

  2. पाथ पर्यावरण परिवर्तक में गिट \ bin निर्देशिका जोड़ें, लेकिन कुछ बिल्टिन विंडोज टूल्स को ओवरराइड किए बिना। फेलो स्टैक ओवरफ्लो-इयान गेबे मुथार्ट told me in a comment कि यह विकल्प कुछ गिट ऑपरेशंस विफल कर देगा! ये ऑपरेशन क्या हैं? क्या मुझे उनके बारे में चिंता करनी चाहिए?

  3. 2 के समान ही है लेकिन कुछ डिफ़ॉल्ट सिस्टम टूल्स ओवरराइड करें। ये उपकरण क्या हैं? खिड़कियों के कौन से हिस्से उन पर निर्भर करते हैं? और क्या यह अभ्यास में चोट लगी होगी?

एक और मुद्दा यह मेरे दिमाग में आया है, सिस्टम पथ से संबंधित नहीं।

क्या होगा यदि मैं अपने प्रोजेक्ट निर्देशिका के अंदर सांकेतिक लिंक और हार्ड लिंक है? क्या गिट को पता है कि इनसे निपटने के लिए कैसे? या, क्या यह अनंत रिकर्सन से पीड़ित होगा, अगर कहें, तो निर्देशिका संरचना ऐसी थी कि कुछ फ़ोल्डर वास्तव में अपने माता-पिता में से एक के लिए एक प्रतीकात्मक लिंक था?

उत्तर

43

से वर्णन किया गया है आप bash का विकल्प चुनें परवाह किए बिना मिलता है, बाद के विकल्पों बस इसे बाहर Git प्रयोग करने के लिए तरीके जोड़।

बाद विकल्पों के लिए, msysgit विंडोज PATH के लिए आम लिनक्स उपयोगिताओं के बनाता है कहते हैं। यह find, kill और sort, साथ ही cp, ls, rm, और 20-30 के बारे में अन्य शामिल हैं।

पहले 3 (और इसी तरह) के साथ समस्या यह है कि वे दोनों ओएस में मौजूद हैं और प्रत्येक में अलग-अलग कार्य करते हैं।

यदि आप जानते हैं कि आप किस का उपयोग करेंगे, तो कोई बड़ी परीक्षा नहीं है, लेकिन किसी भी एप्लिकेशन ने एक की उम्मीद विकसित की है और दूसरा प्राप्त करने के लिए निश्चित रूप से फिट होगा।


संघर्ष को रोकने के लिए, जबकि अभी भी Git काम होने की उम्मीद के रूप में, आप एक सरल बैच स्क्रिप्ट है कि सत्र के दौरान केवल PATH समायोजित कर देता है बना सकते हैं। (उदाहरण के लिए, readygit.bat)

@echo off 
setlocal 
set PATH=C:\Git\bin;%PATH% 
cmd 

तदनुसार C:\Git\bin समायोजित करें। लेकिन, बस इसे चलाएं और cmd के भीतर गिट का उपयोग करें।

इस के साथ

, तो आप विकल्प 3 स्थापित उपयोग कर सकते हैं और सुरक्षित रूप से Git भ्रमित किए बिना से आपके सिस्टम के PATH, विंडोज के लिए किसी भी भ्रम को दूर करने एप्लिकेशन C:\Git\bin को हटा दें।

मैं वर्तमान में GnuWin ऐप्स के साथ एक समान स्क्रिप्ट का उपयोग करता हूं, जिसमें find शामिल हैं।

+2

वैकल्पिक रूप से, msysGit के खोल से MinGW तक पहुंच प्राप्त करने के लिए गिट बैश के '/ etc/bash_profile' को' निर्यात PATH = $ पथ:/c/mingw/bin:/c/mingw/msys/1.0/bin' जोड़ें। – rpjohnst

3

विंडोज़ पर (यह मेरी विनम्र राय में अन्य प्रणालियों पर एक मुद्दा है ...), आपको सीआरएलएफ मुद्दों के बारे में बहुत अवगत होना चाहिए, और ध्यान दें कि (जब तक कि वे इसे नवीनतम में नहीं बदलते गिट का संस्करण, जो मुझे विश्वास है कि उनके पास हो सकता है - या यदि आप गिट के बहुत पुराने संस्करण का उपयोग कर रहे हैं), तो अन्य सभी गिट इंस्टॉलेशन के विपरीत, autocrlf डिफ़ॉल्ट रूप से सक्षम है।

यह भी ध्यान रखें कि जब तक आप msysgit के नवीनतम संस्करण का उपयोग नहीं करते हैं, तो जल्द ही मुझे इस सप्ताह बाहर निकलने के लिए अगर मुझे मेलिंग सूची से सही तरीके से याद किया जाता है, तो आपका भंडार आकार कुल 2 जीबी से बड़ा नहीं हो सकता है।

इसके अतिरिक्त, विंडोज़ बेहद मामूली मामला असंभव है लेकिन/कभी-कभी मामला संरक्षित है - इसे ध्यान में रखें! (यह गिट को असफल रूप से भ्रमित नहीं करता है - लेकिन यह गिट रेपो के उपयोगकर्ता को भ्रमित कर सकता है और करता है)।

आखिरकार, लिनक्स की तुलना में खिड़कियों पर गिट काफी धीमी है, हालांकि यह विकल्प (मेरे सीमित अनुभव में) विकल्पों की तुलना में तेज़ी से है।

अब

, पथ के बारे में ...

जब तक मैं गलत कर रहा हूँ, तो आप सिर्फ यह सुनिश्चित करें कि मुख्य Git द्विआधारी रास्ते में है सक्षम होना चाहिए - और कि द्विआधारी फिर दूसरे को संदर्भित का ध्यान रखना चाहिए गिट घटकों ... लेकिन मैंने इसका परीक्षण नहीं किया है।

+2

AFAIK, विंडोज हमेशा मामला संरक्षित है। जब कोई नाम ऑल-कैप्स होता है तो विंडोज एक्सप्लोरर इसे लोअरकेस के रूप में दिखाता है, लेकिन फ़ाइल को ऊपरी-केस के रूप में रखा जाता है। – configurator

+0

यह गलत है, लेकिन यदि आपको सहायक लेख मिलते हैं तो यह सहायक होगा। :) – Arafangion

3

यदि आप साइगविन प्रॉम्प्ट से गिट चलाने का इरादा रखते हैं तो MSYS गिट इंस्टॉलर विकल्प 2 का सुझाव देता है। सिग्विन पर्यावरण सुनिश्चित करता है कि आपके पैथ में गिट निर्भरताएं हैं। यदि आप यह विकल्प चुनते हैं लेकिन फिर विंडोज कमांड प्रॉम्प्ट से गिट का आह्वान करते हैं, तो सभी यूनिक्स-वाई कमांड-लाइन उपयोगिताओं पर निर्भर करता है जो गिट पर निर्भर नहीं होंगे। आईआईआरसी, गिट खुद आंशिक रूप से बैश स्क्रिप्ट के रूप में लागू किया गया है। मुझे नहीं पता कि कौन से ऑपरेशन असफल हो जाएंगे, लेकिन मुझे नहीं लगता कि गिट इस तरह प्रयोग योग्य होगा।

मेरे पास सिस्टम टूल्स की एक सूची नहीं है जो विकल्प 3 ओवरराइड (इंस्टॉलर find.exe का उल्लेख करता है) लेकिन यह केवल आपको प्रभावित करेगा यदि आप बैच-स्क्रिप्ट निंजा हैं। कमांड लाइन पर, find अब उस नाम की यूनिक्स उपयोगिता का संदर्भ लेंगे, न कि विंडोज़ के साथ जहाज।यह विंडोज़ को किसी भी तरह से नुकसान नहीं पहुंचाता है।

बस कैंची के साथ चलाने के लिए और विकल्प 3 चुनें :-)

+0

यह गैर-बैच-स्क्रिप्ट-निंजा को प्रभावित करेगा यदि वे बैच स्क्रिप्ट के साथ आने वाले किसी भी टूल का उपयोग करते हैं। मैंने इस तरह के कई टूल इस्तेमाल किए हैं, जो शायद असफल हो जाएंगे। – configurator

9

आप जानते हैं कि हो सकता है कर सकते हैं:

  • सभी Git आदेशों अभी भी वहाँ नहीं कर रहे हैं। पर MSysGit1.6.2 मार्च के प्रारंभ 2009:। Archimport, cvsexportcommit, cvsimport, cvsserver, फिल्टर शाखा, instaweb, भेजने के लिए ईमेल, और खोल)

  • MSysGit1.6.2 तक, Git-SVN not there (it is now था)।
    समस्या गिट-एसवीएन को उपवर्तन की पर्ल बाइंडिंग की आवश्यकता थी, और आप केवल उन्हें गतिशील रूप से लोड करने योग्य मॉड्यूल के रूप में बना सकते हैं। और MSysGit में एक पर्ल संस्करण था जो गतिशील रूप से लोड करने योग्य मॉड्यूल का समर्थन नहीं करता था।

  • MSysGit के बारे में सभी विवरण सबसे अच्छा उनके MSysGitHerald Github wiki

0

जब आप विंडोज़ पर विंडोज जीयूआई का उपयोग करते हैं, और आप अपना पहला भंडार बनाते हैं, तो भंडार निर्देशिका के लिए ".git" नाम टाइप न करें। (फिर यह कौन सा बना देगा, और फिर दूसरा बनाएं।इसके नीचे गिट फ़ोल्डर, जब आप अंततः वहां देखने के लिए सोचते हैं) इसमें अपने स्रोतों के साथ फ़ोल्डर में ब्राउज़ करें, और - बस उस फ़ोल्डर को चुनें! आपके लिए भंडार निर्देशिका ".get" बनाई जाएगी।

फिर आप अपने अस्थिर परिवर्तनों में फ़ाइलों को देखते हैं, और फ़ाइल नामों के बगल में छोटे पेज आइकन पर क्लिक करके उन्हें चरणबद्ध परिवर्तनों में ले जाएं।

और निश्चित रूप से कैंची के साथ चलाएं और विकल्प का चयन करें 3. कोई भी विंडोज़ लाइन कमांड से मार या सॉर्ट का उपयोग नहीं करता है।

+0

हम्म, इसका विंडोज़ पर msysgit के साथ कुछ लेना देना नहीं है (क्योंकि यह लिनक्स पर भी लागू होता है)। मैं उन तरीकों के बारे में पूछ रहा था जिसमें यह हस्तक्षेप कर सकता है, या अन्यथा विंडोज़ सिस्टम टूल्स, अन्यथा गड़बड़ हो सकता है। – hasen

संबंधित मुद्दे

 संबंधित मुद्दे