
प्रस्तावना या जहां विंडोज पर गिट लगाने के लिए "पागल" विचार आया था
मैं एक नहीं, इतनी बड़ी आईटी कंपनी में काम करता हूं जो अपने खुद के और दूसरे लोगों के सॉफ्टवेयर सॉल्यूशंस बेचती है, कार्यान्वयन परियोजनाओं से संबंधित है, ग्राहक सहायता प्रदान करती है, प्रशिक्षण और एक ही नस में सब कुछ करती है। कुछ समय पहले तक, मेरी छोटी विकास टीम में सब कुछ व्यवस्थित था और हमारे पास अपना स्वयं का शक्तिशाली सर्वर भी था। लेकिन अप्रत्याशित रूप से घटित हुआ और कंपनी के सर्वरों में से एक में से एक दुष्ट रॉक ने उड़ान भरी, और प्रबंधन ने हमारे विकास विभाग के सर्वर को रैक में रखने का फैसला किया। हमें किसी भी सामान्य उद्देश्य सर्वर पर "अस्थायी रूप से" स्थानांतरित करने की पेशकश की गई थी।
अब ध्यान! केवल हम ही पूरी कंपनी में लिनक्स पर काम करते हैं, और बाकी सभी विशेष रूप से विंडोज पर हैं, और हमारे पास जो सर्वर हैं, वे बिल गेट्स द्वारा ओएस के सर्वर संस्करण भी चला रहे हैं। और अगर Redmine डेटाबेस के हस्तांतरण में कोई विशेष प्रश्न नहीं उठाया जाता है, तो Windows सर्वर पर Git के लिए सर्वर बढ़ाने के कार्य ने तुरंत मुझे चकित कर दिया। लेकिन खोज में बिताए गए कुछ घंटों ने मुझे एक सरल काम करने का हल दिया।
मैटरियल का अध्ययन
सबसे पहले, मैंने
गिट के लिए प्रलेखन की ओर रुख किया, जहां मैंने निम्नलिखित पढ़ा:
डेटा ट्रांसफर के लिए Git चार नेटवर्क प्रोटोकॉल के साथ काम कर सकता है: स्थानीय, सुरक्षित शेल (SSH), Git और HTTP।
मैंने पहले विकल्प पर विचार नहीं किया, क्योंकि इसका मतलब है कि सार्वजनिक उपयोग के लिए खुली नेटवर्क गेंदों की उपस्थिति। मान लीजिए कि एक डोमेन की समूह नीतियों का उपयोग करके, आप बिक्री सहायक द्वारा आकस्मिक विलोपन से डेटा की रक्षा कर सकते हैं। लेकिन घर से काम कैसे करें? वीपीएन को बढ़ाने के लिए कई "सप्ताहांत सप्ताहांत" शुरू होता है?
हम आगे पढ़ते हैं और देखते हैं:
एसएसएच एकमात्र नेटवर्क प्रोटोकॉल है जो पढ़ने और लिखने की सुविधा प्रदान करता है। दो अन्य नेटवर्क प्रोटोकॉल (HTTP और Git) ज्यादातर मामलों में रीड-ओनली एक्सेस देते हैं, इसलिए भले ही वे आपके लिए उपलब्ध हों, फिर भी आपको लिखने के लिए SSH की आवश्यकता होती है।
अंतिम लक्ष्य के लिए मार्ग पहले से ही कम धूमिल हो गया है: पहले आपको एसएसएच सर्वर स्थापित करने की आवश्यकता है, और फिर विंडोज (आधिकारिक
msysgit ,
Git एक्सटेंशन ,
TortoiseGit ,
Qitit , आदि) के लिए कई Git असेंबली स्थापित करें।
विंडोज के लिए एक एसएसएच सर्वर चुनना
इंटरनेट पर एक खोज इंजन का उपयोग करते हुए, मैंने विंडोज के लिए वर्तमान एसएसएच कार्यान्वयन का एक छोटा चयन किया। मैं इस बात का ढोंग नहीं करता कि मैं इस क्षेत्र में सभी समाधान खोजने में सक्षम था, लेकिन मैंने निश्चित रूप से सबसे लोकप्रिय लोगों को याद नहीं किया। तो:
साइगविन । विंडोज के लिए लिनक्स कार्यक्षमता को पोर्ट करने के लिए एक परियोजना के हिस्से के रूप में,
ओपनएसएसएच को भी पोर्ट किया गया था। SSH कार्यान्वयन के साथ cygwin1.dll प्रोजेक्ट लाइब्रेरी का उपयोग अधिकांश अन्य समाधानों में भी किया जाता है। इंस्टॉलेशन और कॉन्फ़िगरेशन पर चित्रों के साथ एक सरल निर्देश
यहां पाया जा सकता
है । मैं भी 2001 के लिए विंडोज आईटी प्रो पत्रिका नंबर 7 से एक लेख पढ़ने की सलाह देता हूं -
विंडोज पर एसएसएच ।
freeSSHd मंचों पर नेता का उल्लेख किया गया है। यह प्रयोग करने में आसान है। लाइसेंस वाणिज्यिक प्रयोजनों के लिए मुफ्त उपयोग की अनुमति देता है। मुझे
Win2008 को स्थापित करने और कॉन्फ़िगर करने के निर्देश मिले।
WInSSHD । मैंने जिन कार्यान्वयनों को देखा है उनकी कार्यक्षमता में सबसे समृद्ध है। यह एक अच्छा पेशेवर सुरक्षा समाधान है। लेकिन मेरे नाखून के लिए, यह एक माइक्रोस्कोप है। यदि किसी को उत्पाद में रुचि है, तो उनके पास 30-दिवसीय परीक्षण पूर्ण संस्करण और
मुफ्त निजी उपयोग की संभावना है।
KpyM टेलनेट / SSH सर्वर । मुझे बुरी समीक्षाओं पर ध्यान नहीं गया। लेकिन यह मुझे परेशान करता है कि 2009 से उनकी साइट को अपडेट नहीं किया गया है, और आधिकारिक मंच पर भी किसी तरह बेजान है। दूसरी ओर, यदि उत्पाद मुक्त है और अपना काम करता है, तो यह विकास में संलग्न होने का कोई मतलब नहीं है। मुझे विंडोज के लिए अन्य SSH समाधानों की सूची के उनके
FAQ में उपस्थिति पसंद आई। मैं झांकने की सलाह देता हूं।
कोपश । नॉर्वेजियन कंपनी ITeF! X का एक उत्पाद, जिसमें उन्होंने विंडोज़-आधारित ओपनएसएसएच कार्यान्वयन के लिए एक सुंदर प्रशासक जीयूआई-इंटरफ़ेस और कुछ "सर्वोत्तम प्रथाओं" को जोड़ा। यह वह समाधान है जो
स्टैकऑवरफ्लो पर विंडोज के लिए जीआईटी सर्वर बढ़ाने की
चर्चा में सबसे अधिक अनुशंसित है।
यादृच्छिक खोज
दरअसल, स्टैकऑवरफ्लो के जवाबों की छाप के तहत, मैंने पहले ही आराम कर लिया और अपने पूर्ववर्तियों द्वारा पीटा गया रास्ता तय किया। लेकिन ITeF! X की साइट का अध्ययन करते समय, मैंने पाया कि उनके पास मेरे उद्देश्यों के लिए एक उत्पाद अधिक उपयुक्त है -
गिटविन । यह विंडोज पर मेरे लिए समान Git सर्वर निकला।
सबसे पहले, मैं अपनी आंखों पर विश्वास नहीं कर सकता था - अगर इस तरह के चमत्कार उत्पाद मौजूद हैं, तो क्यों यह अभी भी हर कदम पर तुरही नहीं है।
कंपनी की खबर में जवाब मिला - जैसा कि यह निकला, सॉफ्टवेयर उत्पाद केवल एक आधा महीने पहले (11 अक्टूबर 2013) साझा किया गया था। अधिक सटीक रूप से दूसरे दिन उन्होंने उपयोग के लिए एक मुफ्त संस्करण पोस्ट किया। अदा पहले भी मौजूद थी, लेकिन जाहिर तौर पर ज्यादा मांग का आनंद नहीं लिया था (जनवरी 2012 से, कंपनी के आधिकारिक फोरम में केवल दो ही विषय हैं, जो Gwinwin सेक्शन में हैं)।
तो यह गिटविन क्या है? मुफ्त संस्करण में शामिल हैं:
- साइगविन संस्करण 1.7.25
- ओपनएसएसएच संस्करण 6.3
- Git संस्करण 1.8.4
- Itefix से इंस्टॉलर
साइट पर एक संपूर्ण अनुभाग
पैकेज स्थापित करने के लिए समर्पित है। इस प्रक्रिया का वर्णन करने वाले शब्दों के अलावा "इंस्टॉलर को लॉन्च करना" -> "अगला" -> "अगला" -> "किया गया", कंपनी के प्रतिनिधि वीडियो पर यह सब रिकॉर्ड करने के लिए बहुत आलसी नहीं थे और YouTube पर अपलोड किए गए थे। यह पूरी तरह से स्पष्ट नहीं है कि यह क्यों किया गया था, और सबसे महत्वपूर्ण बात यह है कि यह किसके लिए स्पष्ट नहीं है?
उपयोग का
वर्णन करने के लिए एक अन्य अनुभाग आवंटित किया गया है। यहां उन्होंने SSH के माध्यम से पहुंच के लिए एक नए उपयोगकर्ता की सक्रियता, एक प्रमुख जोड़ी का निर्माण और एक खाली भंडार का वर्णन किया। और यह भी, वर्णन के अलावा, पाठ एक रिकॉर्ड किया गया प्रशिक्षण वीडियो देता है:
Git सर्वर को स्थापित, कॉन्फ़िगर और परीक्षण करें
मैंने हमारे gitwin सर्वर पर "मुफ्त संस्करण" संस्करण स्थापित किए हैं और केवल इस अनुभव को साझा कर सकते हैं।
1.
उत्पाद पृष्ठ से इंस्टॉलर डाउनलोड करके शुरू करें।
2. इंस्टॉलर को चलाएं और हमें पूछा जाए कि उत्पाद को कहां स्थापित किया जाए। मैंने "C: \ Program Files (x86) \ ICW" में डिफ़ॉल्ट रूप से छोड़ दिया। आपको रास्ता बदलने की आवश्यकता क्यों हो सकती है? तथ्य यह है कि यह निर्देशिका लिनक्स उपयोगिताओं के लिए मूल बन जाएगी और git उपयोगकर्ता की होम निर्देशिका भी वहीं बनाई जाएगी "C: \ Program Files (x86) \ ICW \ home \ git \"। यदि एक्सेस अधिकारों के साथ समस्याओं की एक मौजूदगी है, तो आप निर्देशिका को आपके लिए कम समस्याग्रस्त में बदल सकते हैं।
3. स्थापना प्रक्रिया के दौरान, दो उपयोगकर्ता "SvcCOPSSH" और "गिट" बनाने के बारे में संदेश प्रदर्शित किए जाते हैं। पहले उपयोगकर्ता के तहत, OpenSSHServer सेवा काम करेगी, और दूसरा रिपॉजिटरी की सर्विसिंग के लिए आवश्यक है। इन उपयोगकर्ताओं के पासवर्ड "विवरण दिखाएं" पर क्लिक करके इंस्टॉलेशन प्रक्रिया के अंत में पाए जा सकते हैं। मैं आपको सलाह देता हूं कि बफर को आउटपुट को राइट-क्लिक करें और बस मामले में बचाएं।
3.1। उपयोगकर्ताओं की संरचना की फिर से जाँच करने से पता चला कि इंस्टॉलर ने चुपचाप एक अन्य उपयोगकर्ता - "sshd" बनाया जो "कॉप्सह विशेषाधिकार विशेषाधिकार उपयोगकर्ता" के वर्णन के साथ था और इसे स्वयं अक्षम कर दिया। यह स्पष्ट और संदिग्ध नहीं है ...
4. सबसे अधिक संभावना है, मुफ्त संस्करण के कारण, अगले चरण साइट पर वर्णित लोगों से अलग थे। प्रशासन कंसोल के बजाय, दो आइटम “01। एक उपयोगकर्ता को सक्रिय करें "और" 02। उपयोगकर्ता को निष्क्रिय करें। " लेकिन इससे प्रक्रिया का सार नहीं बदला है। हमने लॉन्च किया "01। एक उपयोगकर्ता को सक्रिय करें ”और उपयोगकर्ता को सक्रिय करने के लिए निर्दिष्ट करें (मेरे मामले में, समान git), कमांड शेल (बैश से विकल्प, sftponly और false) का चयन करें और वैकल्पिक चेकमार्क डालें। यहाँ हम ध्यान से पढ़ते हैं:
4.1। अगर हमें एक महत्वपूर्ण जोड़ी की आवश्यकता है, तो डिफ़ॉल्ट रूप से सक्षम "सार्वजनिक कुंजी प्रमाणीकरण के लिए कुंजी बनाएं" को छोड़ दें। पासवर्ड प्राधिकरण के साथ, आप हटा सकते हैं ...
4.2। यदि उपयोगकर्ता C: \ Users \ से अपनी मूल उपयोगकर्ता निर्देशिका का उपयोग करने की योजना बना रहा है (या शायद किसी के पास अभी भी C: \ Documents and Settings \) है, तो चेक बॉक्स को छोड़ दें "डिफ़ॉल्ट रूप से सक्षम होने पर" copssh होम निर्देशिका को हटा दें " "उपयोगकर्ता की वास्तविक होम निर्देशिका के लिए लिंक बनाएं।" मैंने उन्हें हटाने का मौका लिया और इस तरह मेरे पास मौजूद सभी रिपॉजिटरी प्रोग्राम प्रोग्राम सिस्टम निर्देशिका में गहरे छिपे रहेंगे।
5. उपयोगकर्ता को सक्रिय करने और चाबियाँ बनाने के बाद, हम संचालन के लिए पूरी प्रणाली का परीक्षण कर सकते हैं। आइटम का चयन करें “03। एक यूनिक्स बैश शेल शुरू करें ”और एक खाली भंडार बनाएं। मैं बुद्धि से नहीं चमकता और आधिकारिक साइट से आदेश को दोहराया:
$ git init --bare / home / git / रेपो-ए
/ घर / गिट / रेपो-ए / में खाली गैट भंडार
6. आगे का परीक्षण मेरे काम करने वाले लैपटॉप में चला गया। मैंने सफलतापूर्वक एक खाली भंडार पर क्लोन किया, कुछ फाइलों को इसमें फेंक दिया और पीछे धकेल दिया। कोई समस्या नहीं थी। किसी अन्य निर्देशिका में ले जाया गया और रिपॉजिटरी को फिर से क्लोन किया - इस बार यह अब खाली नहीं था और फाइलों के साथ मेरी प्रतिबद्धता थी। इस प्रकार, मेरे कार्य केंद्र से, पिछले Ubuntu सर्वर और नए विंडोज सर्वर पर गिट रिपॉजिटरी के साथ काम करने में कोई अंतर नहीं था!
निष्कर्ष
सफलतापूर्वक पाया गया गिटविन वह समाधान निकला जिसकी मैं तलाश कर रहा था - यह विंडोज के तहत चलता है और उपयोगकर्ताओं के लिए भ्रम पैदा करता है कि वे एक पूर्ण दूरस्थ रिपॉजिटरी के साथ काम कर रहे हैं। ग्लूकोव ने अभी तक ध्यान नहीं दिया है। लेकिन अगर मुझे पता चलता है, तो मैं निश्चित रूप से इस लेख को पूरक करूंगा।
मुझे आशा है कि एकत्रित सामग्री किसी के लिए उपयोगी होगी। और मैं चाहता हूं कि आप कई घंटों की खोज में खर्च करने से डरते नहीं हैं, अगर आपको यकीन नहीं है कि सबसे प्रासंगिक जानकारी आपके सिर में है। आखिरकार, अगर मैं शुरू में स्टैकऑवरफ्लो में गया और टिम डेविस के एक विस्तृत चरण-दर-चरण गाइड के अनुसार सब कुछ किया, तो मुझे छोटे रास्ते के अस्तित्व के बारे में नहीं पता होगा, जब माउस के सिर्फ एक दर्जन क्लिक में पूरा बुनियादी ढांचा उगता है और कॉन्फ़िगर होता है। सौभाग्य!
उपसंहार। हैबरसर्स से सफलता की कहानियां
सुकरात की तरह, ज्ञान की प्रत्येक नई मात्रा के साथ, मैं समझता हूं कि मुझे अभी भी नहीं पता है कि कितना अधिक है। टिप्पणियों में, सहकर्मी मेरे विषय पर सकारात्मक अनुभव का वर्णन करते हैं, जिसे अनदेखा करना एक पाप है। तो:
A1lfeG और इसकी टीम लिनक्स से दूर है, लेकिन फिर भी केंद्रीय Git रिपॉजिटरी की उनकी स्थापना काफी सरल थी।
SCM प्रबंधक उत्पाद ने इसमें उनकी मदद की।
dshster सर्वर पर विशेष रूप से msysgit को सफलतापूर्वक स्थापित करने पर
अपना अनुभव साझा करता है। ईमानदार होने के लिए, मैंने इस पोस्ट को Q & A में पढ़ा, लेकिन यह मेरा मामला नहीं है। Bitbucket और Github के उपयोग के बारे में निर्देश अधिक हैं। स्थानीय नेटवर्क पर सामान्य उपयोग के लिए एक साझा फ़ोल्डर की पेशकश की जाती है, और रिपॉजिटरी देखने के लिए एक एकीकृत वेब सर्वर प्रदान किया जाता है। मैं नोट करता हूं कि 1.8.4 रिलीज होने के बाद से वेब सर्वर और कुछ अन्य उपयोगिताओं को हटा दिया गया है:
“कुछ आदेश अभी तक विंडोज पर समर्थित नहीं हैं और स्थापना से बाहर रखा गया है; नाम: git archimport, git cvsexportcommit, git cvsimport, git cvsserver, git instaweb, git shell »IamKarlson बोनाबो गिट सर्वर समाधान के बारे में अच्छी तरह से बात करते हैं, जिसका उपयोग उनके कार्यस्थल पर किया जाता है। अपने लिए प्लस के रूप में, मैं IIS वेब सर्वर के उपयोग पर ध्यान देता हूं, जो पहले से ही हमारे लिए काम करता है।