क्या विकल्प "विंडोज कमांड प्रॉम्प्ट से गिट और वैकल्पिक यूनिक्स उपकरण का उपयोग करें" खतरनाक है?


12

Git स्थापित करते समय, यह आपके सभी ms * nix टूल्स को अपने PATH में जोड़ने का विकल्प प्रदान करता है, हालाँकि यह चेतावनी देता है:

चेतावनी: यह "खोज" और "सॉर्ट" जैसे विंडोज टूल को ओवरराइड करेगा। यदि आप निहितार्थ समझते हैं तो केवल इस विकल्प का उपयोग करें।

मेरे प्रश्न हैं:

  • कौन सा उपकरण वास्तव में इसके साथ संघर्ष करेगा?
  • फर्क पड़ता है क्या? क्या वे आमतौर पर सिस्टम द्वारा उपयोग किए जाते हैं? (मैंने उन्हें व्यक्तिगत रूप से कभी इस्तेमाल नहीं किया है।)
  • क्या मैं संघर्षों को रोकने के लिए PATH में निर्देशिकाओं के क्रम को बदल सकता हूं?
  • क्या यह दूसरा विकल्प है? ("विंडोज कमांड प्रॉम्प्ट से गेट का उपयोग करें - यह विकल्प सुरक्षित माना जाता है क्योंकि यह केवल कुछ न्यूनतम गिट रैपर जोड़ता है")

जवाबों:


5

मैं अन्य उत्तरों के सामान्य विश्लेषण से सहमत हूं और यह अनुमान लगाने में भी असमर्थ हूं कि आप किस तरह के संघर्षों में भाग सकते हैं। मुझे पता है कि मैंने कुछ भी नहीं देखा है अपने आप को तीसरे विकल्प को लेने से डरते हैं। लेकिन मैं थोड़ा जोड़ सकता हूं कि विकल्प वास्तव में 2018 तक क्या करेंगे।

मैंने इन विकल्पों सहित git में अपनी टीम के संक्रमण का सुझाव कैसे दिया जाए, यह तय करते हुए कई तरह के इंस्टॉलेशन कॉन्फ़िगरेशन का प्रयोग किया। यह वही है जो मैंने वास्तव में अपने पथ के लिए कर रहा है, जैसा कि विंडोज v2.19.1 के लिए गिट के रूप में देखा।

PATH की स्थापना के लिए Git For Windows इंस्टॉलेशन विकल्पों का स्क्रीनशॉट

Git Bash से ही Git का उपयोग करें

जैसा कि यह बताता है, आपके सिस्टम के पथ में कोई संशोधन नहीं किया गया है। git statusWindows कमांड प्रॉम्प्ट, cmd.exe पर एक साधारण दर्ज करना , के साथ विफल हो जाएगा 'git' is not recognized as an internal or external command, operable program or batch file

Windows कमांड प्रॉम्प्ट से Git का उपयोग करें

क्या मैं संघर्षों को रोकने के लिए PATH में निर्देशिकाओं के क्रम को बदल सकता हूं?

क्या यह दूसरा विकल्प है? ("विंडोज कमांड प्रॉम्प्ट से गेट का उपयोग करें - यह विकल्प सुरक्षित माना जाता है क्योंकि यह केवल कुछ न्यूनतम गिट रैपर जोड़ता है")

ऑर्डर बदलना हमेशा आपके लिए एक विकल्प होता है, लेकिन नहीं, दूसरी पसंद ऑर्डर करने से कोई लेना-देना नहीं है। (पथ परिवर्धन की परवाह किए बिना मार्ग के अंत तक जाना प्रतीत होता है। मुझे थोड़ा संदेह है कि यह किसी बिंदु पर बदल गया है।) यह एक सवाल है कि कौन सी निर्देशिकाओं को पथ में जोड़ा जाता है, और दूसरे और तीसरे विकल्प के बीच भिन्न होता है।

जब यह कहता है कि यह आपके पैट में "न्यूनतम" गिट रैपर जोड़ देगा, जो वास्तव में ऐसा प्रतीत होता cmdहै वह पथ में आने वाले (आने वाले) के फ़ोल्डर को जोड़ता है । यह वह विकल्प है जो मैंने अंततः अपनी टीम को सुझाया। हमें अब C:\Program Files\Git\cmdअपने रास्तों पर चलना है।

cmdनिर्देशिका में क्या है ? मेरे लिए, केवल छह फाइलें:

  • git.exe
  • Git-gui.exe
  • gitk.exe
  • Git-lfs.exe
  • स्टार्ट-ssh-agent.cmd
  • स्टार्ट-ssh-pageant.cmd

अनकसुमन के जवाब के साथ, मुझे यकीन नहीं है कि यह पर्याप्त नहीं होगा। git <some command>Git.exe को शामिल करने से शुरू होने वाली कोई भी सामान्य कमांड काम करेगी।

Windows कमांड प्रॉम्प्ट से Git और वैकल्पिक यूनिक्स टूल का उपयोग करें

यह दूसरा विकल्प जोड़ने है शामिल <Install dir>\Git\cmdपथ के लिए, और यह भी कहते हैं <Install dir>\Git\mingw64\binऔर <Install dir>\Git\usr\binपथ के लिए। दोनों निर्देशिकाओं में निष्पादन योग्य की एक महत्वपूर्ण संख्या है, जिसमें अन्य उत्तरों में उल्लिखित खोज, छांटना और मारना शामिल है।

यह सूचीबद्ध करने के बजाय कि शायद कुछ सौ आइटम हैं, मैं संबंधित उपयोगकर्ता को विकल्प दो, इंस्टॉलेशन पूरा करने और उन निर्देशिकाओं पर एक नज़र डालने के लिए प्रोत्साहित करूंगा। यदि आप जोखिम से संतुष्ट हैं, तो अपने रास्ते से जोड़ना <Install dir>\Git\mingw64\binऔर <Install dir>\Git\usr\binअपने आप को समय मशीन वापस लेना और तीसरे विकल्प का चयन करने के बराबर होगा।


चूंकि वर्षों से धारणाएं और संदर्भ बदलते हैं, इसलिए "यहां 2019 से एक नया दृष्टिकोण ..."
क्रिस्टोफर बंधक

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

7

कौन सा उपकरण वास्तव में इसके साथ संघर्ष करेगा?

व्यक्तिगत रूप से मैं एक पूरी सूची के लिए अनिश्चित हूं, लेकिन यह स्टैकऑवरफ्लो प्रश्न कहता है

"इसमें खोज, मार और सॉर्ट शामिल हैं [...] पहली 3 (और समान) के साथ समस्या यह है कि वे दोनों ओएस में मौजूद हैं और प्रत्येक में अलग-अलग कार्य करते हैं।"

वे अक्सर आपके द्वारा उपयोग नहीं किए जा सकते हैं, लेकिन सामान्य रूप से पर्याप्त हैं कि Git आपको अप्रत्याशित व्यवहार के बारे में चेतावनी देने की आवश्यकता महसूस करता है।

वास्तविक रूप से, वे तीसरे पक्ष के कार्यक्रमों (ज्यादातर लिपियों) में दिखाई देने की अधिक संभावना रखते हैं, इसलिए प्रभाव का स्तर सबसे अधिक संभावना इस बात पर निर्भर करता है कि आप उन कार्यक्रमों में से कितने का उपयोग करते हैं जो किसी भी कमांड पर भरोसा करते हैं।

क्या यह दूसरा विकल्प है? ("विंडोज कमांड प्रॉम्प्ट से गेट का उपयोग करें - यह विकल्प सुरक्षित माना जाता है क्योंकि यह केवल कुछ न्यूनतम गिट रैपर जोड़ता है")

मूल रूप से यह आपको सभी सामान्य Git कमांड के साथ कमांड लाइन (cmd.exe) से Git का उपयोग करने की अनुमति देता है। यह विकल्प 99% के लिए पूरी तरह से सुरक्षित और उपयोगी है, जिसे आप स्क्रिप्ट कमांड या विंडोज कमांड लाइन से मैन्युअल रूप से लागू करना चाहते हैं। मैं इस विकल्प का उपयोग करता हूं और कभी भी व्यक्तिगत रूप से किसी भी मुद्दे का सामना नहीं किया है।

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


वास्तव में, मैं CMD से कुछ टूल्स का उपयोग करना चाहता हूं, और यह सोचता हूं कि यदि 2 ऑप्शन यूनिक्स टूल्स में से कोई भी उपलब्ध है या केवल आईआईटी उपलब्ध कराता है।
Aleksandr Dubinsky

मेरी जानकारी के लिए, यह केवल गिट है।
आकाशवाणी

3

कौन सा उपकरण वास्तव में इसके साथ संघर्ष करेगा?

मैं स्थापित करने के लिए अपने पथ को संशोधित करने देता। यदि आप इसे नहीं चाहते हैं तो इसे पथ से निकालना आसान है। तब मैं निर्देशिकाओं को देखूंगा और संघर्षों का पता लगाने के लिए कुछ तुलनाएं जैसे अंतर, कॉम आदि करूंगा। वे कहीं दस्तावेज होना चाहिए, हालांकि मुझे नहीं पता कि कहां है।

फर्क पड़ता है क्या? क्या वे आमतौर पर सिस्टम द्वारा उपयोग किए जाते हैं? (मैंने उन्हें व्यक्तिगत रूप से कभी इस्तेमाल नहीं किया है।)

मैंने हाल ही में साइबरविन टूल्स का उपयोग नहीं किया है, लेकिन जब मुझे विंडोज का उपयोग करना था, तो मैंने आमतौर पर अपने पैठ में पहली बार बिना किसी समस्या के साइबरविन टूल्स डायरेक्टरी की थी।

सबसे बड़ा जोखिम यह होगा कि यदि कोई प्रोग्राम परस्पर विरोधी विंडोज कमांड लाइन टूल की तलाश कर रहा है, तो वह गलत प्रोग्राम को निष्पादित करेगा। मुझे लगता है कि बहुत कम मात्रा में cmd.exe स्क्रिप्टिंग की बहुत कम मात्रा को देखते हुए इसकी संभावना बहुत कम है।

क्या मैं संघर्षों को रोकने के लिए PATH में निर्देशिकाओं के क्रम को बदल सकता हूं?

हाँ। gitPATH के अंत में बस साइबरगन, या जो कुछ भी जोड़ता है, ले जाएँ। बस याद रखें कि कुछ निश्चित क्रम साइबरगन में सही ढंग से काम नहीं करेंगे। इसके अलावा, यह सोचने के लिए आते हैं, मुझे लगता है कि साइबरविन कंसोल सही तरीके से रास्ता तय करता है। जब आप cygwin का उपयोग करते हैं तब अपना स्वयं का पथ सेट करना तब cygwin को सही ढंग से संचालित करना होगा।

क्या यह दूसरा विकल्प है? ("विंडोज कमांड प्रॉम्प्ट से गेट का उपयोग करें - यह विकल्प सुरक्षित माना जाता है क्योंकि यह केवल कुछ न्यूनतम गिट रैपर जोड़ता है")

ऐसा लगता है जैसे यह पथ को एक निर्देशिका में सम्मिलित करेगा जिसमें केवल git कमांड होगी जिसे आपको git का उपयोग करने की आवश्यकता है।


दरअसल, git साइगविन के बजाय MSYS का उपयोग करता है। अंतर यह है कि msys मूल win32 है, जबकि cygwin पॉज़िक्स कोड को अनुकूलित करने के लिए एक इम्यूलेशन लाइब्रेरी का उपयोग करता है।
Aleksandr Dubinsky
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.