मैं SCM के बिना कोड गुणवत्ता कैसे बना सकता हूं?


110

मैं एक सरकारी संस्थान में काम कर रहा हूँ। यहां इस्तेमाल की जा रही तकनीक और सॉफ्टवेयर विकसित करने के तरीके काफी पुराने जमाने के हैं।

उनके पास भंडारण स्थान है लेकिन उन अनुप्रयोगों को रखने और बनाए रखने के लिए कोई उपयुक्त स्थान नहीं है जिनका उपयोग यहां के अधिकांश कार्यों को स्वचालित करने के लिए किया जाता है।

संस्थान मुझे GIT या SVN जैसे SCM सॉफ़्टवेयर का उपयोग करने की अनुमति नहीं देगा।

कोड गुणवत्ता रखने और बाद में ऐप्स में नई सुविधाओं को जोड़ने में सक्षम होने के लिए सबसे अच्छा तरीका क्या होगा?

मैं उन परिवर्तनों को कैसे याद रख सकता हूं जो मैंने इसे बिना तोड़े कोड में किए हैं?

संपादित करें: मैं उल्लेख करना भूल गया, उनके पास प्रत्येक कंप्यूटर के लिए नेटवर्क ड्राइव है और किसी भी तरह ये नेटवर्क ड्राइव पीरियड में बैकअप बनाते हैं या बचाते हैं। हालाँकि अगर मैं अपना काम बचाने के लिए अपनी योजना नहीं बनाता और मौजूदा कोड को तोड़े बिना नई सुविधाएँ जोड़ने में सक्षम हूँ, तो SCM समाधान पर कोई बड़ा लाभ नहीं है।

संपादित करें: चूंकि कई लोगों ने पोर्टेबल गिट का सुझाव दिया है मुझे अधिक जानकारी जोड़ना है। मैंने Visual SVN सर्वर स्थापित करने की कोशिश की, लेकिन यह विफल रहा क्योंकि मेरे पास स्थापित करने के लिए व्यवस्थापक विशेषाधिकार नहीं हैं। मैंने नियमित रूप से Git शेल डाउनलोड करने का भी प्रयास किया, लेकिन फ़ायरवॉल या नेटवर्क सेटिंग्स ने मुझे Git डाउनलोड पृष्ठ तक पहुंचने की अनुमति नहीं दी। मैंने भी कोशिश की, अपने ईमेल पर पोर्टेबल जीआईटी भेजना जो जीमेल है। Google ने पैकेज में exe फ़ाइल का पता लगाया, और इसने मुझे मेरे काम के कंप्यूटर पर पोर्टेबल Git संस्करण को डाउनलोड करने की अनुमति नहीं दी। एक और बात जिसका मुझे उल्लेख करना है, वह नेटवर्क नीति जो कंप्यूटर पर लागू होती है, संस्था को USB संग्रहण डेविस का उपयोग करने की अनुमति नहीं देती है। स्मार्टफोन को चार्ज करने के लिए आप यूएसबी पोर्ट का इस्तेमाल कर सकते हैं या छोटे स्पीकर जैसे कुछ गैजेट्स को पावर दे सकते हैं। जैसा कि कुछ लोगों ने उल्लेख किया है, ऐसे कंप्यूटर हैं जिन पर इंटरनेट की अनुमति भी नहीं है।


4
आप इसे एक "अच्छी तरह से ज्ञात" एक्सटेंशन, जैसे .mp3, .zip का नाम बदलकर gmail filetype फ़िल्टर को बायपास कर सकते हैं।
Pac0

2
मैं अपने आप से पूछ रहा हूँ, क्यों बिल्ली इस सवाल का अभी भी 2017 में बहुत उतार चढ़ाव है - मैं वास्तव में डर रहा हूं
ओले के

9
दूसरी नौकरी ढूंढो। ये लोग अनुचित डायनासोर हैं। आपको कहीं अधिक नौकरी से संतुष्टि मिलेगी जो आप उचित आधुनिक उपकरणों का उपयोग करना चाहते हैं।
रोब के

5
ऐसा कोई कारण नहीं है कि सरकारी संस्थान SCM का उपयोग न करें। वास्तव में वे शायद SCM का उपयोग न करके विभिन्न प्रकार की प्रक्रिया और ऑडिट नियमों को तोड़ रहे हैं। मेरा सुझाव है कि आप इसे उस कोण
jk

2
@jk एक बहुत अच्छा बिंदु लाता है । यदि एक दोष मौद्रिक नुकसान का कारण बनता है, धोखाधड़ी को सक्षम करता है, या किसी को घायल होने या जीवन की हानि के परिणामस्वरूप ऑडिटर आप पर एक भेड़ के बच्चे की तरह उतरेंगे - और कोई अपनी नौकरी खो देगा। आप सबसे अधिक संभावना है। वह ऊपरी प्रबंधन आपकी पसंद के लिए उनकी पेंशन को जोखिम में नहीं डालेगा।
ग्रेग बरगार्ड

जवाबों:


175

आप तीन सरल उपकरणों के साथ भूमिका नियंत्रण नियंत्रण भूमिका को शिथिल रूप से दोहरा सकते हैं:

  • बैक-अप सॉफ़्टवेयर (कमिट / चेक-इन)
  • फ़ोल्डर (शाखाएँ)
  • KDiff3 (विलय शाखाओं) जैसे उपकरण का उपयोग करके दो निर्देशिकाओं के बीच एक निर्देशिका मर्ज करना

मूल रूप से आपका वर्कफ़्लो बन जाता है:

  1. एक नया फ़ोल्डर (नई शाखा) बनाएँ
  2. मौजूदा फ़ोल्डर (मौजूदा शाखा) से नए फ़ोल्डर (नई शाखा) में फ़ाइलों की प्रतिलिपि बनाएँ
  3. उस फ़ोल्डर का बैक-अप बनाएं (नई शाखा बनाना समाप्त करें)
  4. कुछ काम करो
  5. नए फ़ोल्डर का बैक-अप बनाएं (कमिट करें)
  6. एक निर्देशिका एक फ़ोल्डर से दूसरे में विलय (मर्ज) करें
  7. दूसरे फ़ोल्डर में एक और बैक-अप करें (मर्ज करें)

अधिक अखंड स्रोत नियंत्रण प्रणाली, जैसे एसवीएन या टीएफएस, मूल रूप से पर्दे के पीछे आपके लिए करते हैं।


अब, वास्तविकता यह है कि एक बस कंपनी अपने ड्राइवरों को बता रही है कि वे ऐसी बसें नहीं चला सकते जिनमें बैटरी हो, जिससे ड्राइवर बस को पहाड़ी से नीचे धकेल सकें और फिर बस को शुरू करने के लिए क्लच को पॉप कर सकें ... यह भयानक है और इंगित करता है कि वर्तमान प्रबंधन बस गैरेज चलाने के बारे में कुछ नहीं जानता है। मेरी संवेदना।

लेकिन कम से कम आप बस शुरू कर सकते हैं।


41
यह वास्तव में अड़चनों को देखते हुए सही उत्तर है। यह भी है कि वीसीएस बनने से पहले हमने इसे कैसे किया।
ब्लरफ्ल

35
+1 हालांकि इस के लिए आसान काउंटर तर्क लाइनों में होगा ... हम पंच कार्ड के साथ भी प्रोग्राम करते थे, इसका मतलब यह नहीं है कि हमें इसे फिर से करना चाहिए
न्यूटोपियन 14

25
+1 - प्रश्न का उत्तर देने के लिए। मेरी पहली नौकरी में कोई स्रोत नियंत्रण नहीं था और इस तरह से हमने चीजें कीं। नोट: हम में से केवल दो थे, हम अच्छी तरह से मिल गए थे और हमने ज्यादातर अलग-अलग परियोजनाओं पर काम किया था और, दृष्टिहीनता के साथ, यह अभी भी एक बुरा विचार था। किसी भी अतिरिक्त टीम जटिलता और यह एक बुरा सपना होगा।
Bob Tway

18
मुझे संदेह है कि ओपी केडीएफ 3 जैसे उपकरण को स्थापित / डाउनलोड करने में सक्षम होगा। अगर वह स्थानीय रूप से गिट स्थापित नहीं कर सकता है, तो मुझे संदेह है कि वह स्थानीय रूप से चल रहे कुछ और काम कर सकता है।
इवान

5
@ इवान: टिप्पणियों को देखने के बाद ऐसा लगा कि ओपी एक लिनक्स मशीन पर था। मैंने पाया है कि इस तकनीकी स्टैक का उपयोग करने वाले संगठनों के पास सामान्य डेस्कटॉप बिल्ड के हिस्से के रूप में कई अलग-अलग / मर्ज उपकरण उपलब्ध हैं, और kdiff3 एक बहुत ही सामान्य है। वहाँ अन्य हो सकता है कि निर्देशिका विलय भी हो सकता है? या ओपी एक-एक करके (ick!) फ़ाइलों को मर्ज कर रहा है। लेकिन हाँ, यह स्थिति सिर्फ सादा है।
ग्रेग बरगार्ड

139

यद्यपि आम सहमति निश्चित रूप से इस कंपनी के लिए काम नहीं करेगी, लेकिन मुझे विश्वास नहीं है कि वास्तव में आपके प्रश्न का उत्तर है।

आप वास्तव में SCM की जगह नहीं ले सकते

आपको पूर्ण-विकसित प्रणाली की सामान्य घंटियाँ और सीटी की आवश्यकता नहीं हो सकती है। उदाहरण के लिए, कंपनी किसी सर्वर के लिए अनुरोध को अस्वीकार कर सकती है, लेकिन स्थानीय SCM के उपयोग की अनुमति दे सकती है। वे गिट को नापसंद कर सकते हैं, लेकिन तोड़फोड़ (या कुछ अन्य संस्करण प्रणाली) की अनुमति देते हैं।

निश्चित रूप से एक सवाल है: आपके सहकर्मी क्या उपयोग कर रहे हैं, या किसी भी पिछले कार्यकर्ता? यदि आपके पास पहला सॉफ्टवेयर डेवलपर है, तो आपके लिए आवश्यक संसाधनों के लिए बहुत कठिन पुश करने का समय है ।

अंत में, यदि आपकी कंपनी आपकी भूमिका और अनुभव का सम्मान नहीं करती है और आपको आपके द्वारा आवश्यक उपकरणों की अनुमति नहीं देगी, तो आप स्रोत नियंत्रण की कमी की तुलना में और भी बदतर (और अधिक तनावपूर्ण) समस्याओं में भागने वाले हैं।


11
जिन ऐप्स पर मैं काम कर रहा हूं, वे एकल व्यक्ति प्रोजेक्ट हैं। और, नहीं, मैं यहां पहला प्रोग्रामर नहीं हूं। कई यहां आकर चले गए हैं।
व्लाद

7
और मैं कुछ सहयोगियों में निराशा भी देखता हूं, जब वे इन पुराने बदसूरत संरचित एप्लिकेशन का उपयोग करने का प्रयास करते हैं, एक चेहरे के साथ "हम हर साल यह सामान क्यों कर रहे हैं"।
व्लाद

6
@ व्लाद: आप जानते हैं कि न तो जीआईटी और न ही एसवीएन को नेटवर्क ड्राइव से ज्यादा की जरूरत है? वीबी 6 और एकल व्यक्ति परियोजनाओं के लिए, मैं शायद एसवीएन के साथ काम करूंगा, बाइनरी फाइलों से निपटने के लिए सरल। मैंने कई वर्षों तक ऐसा किया, जब तक कि हमने आखिरी VB6 प्रोग्राम को बदल नहीं दिया।
डॉक ब्राउन 15

24
@ व्लाद "कई लोग यहाँ आए और चले गए।" उन्हें यह बताने के लिए एक सम्मानजनक तरीका खोजें कि इस कंपनी संस्कृति की संभावना उनके टर्नओवर के साथ कुछ है।
jpmc26

26
स्वयं को अनुस्मारक: पूछें कि एससीएम कंपनी साक्षात्कार में क्या उपयोग करती है। यदि कोई नहीं जानता या नहीं कहता है, तो उन्हें बताएं, आपके समय के लिए धन्यवाद और मेरा समय बर्बाद कर रहा हूं।
पूजा

25

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

BTW, मुझे लगता है कि 2017 के अंत में पेरिस में हाल ही में एसएनसीएफ रेलवे घटना का एक समान कारण है (उच्च प्रबंधन स्तर पर सॉफ्टवेयर संस्कृति की कुल कमी, इसलिए एक प्रमुख पेरिस रेलवे स्टेशन का एक दिन से अधिक के लिए रुकावट है; बेशक बहुत सक्षम हैं; एसएनसीएफ में आईटी टीमें, लेकिन प्रमुख निर्णयों पर उनसे सलाह नहीं ली जाती)। मैं सॉफ्टवेयर संस्कृति की कुल कमी के साथ कई यूरोपीय उद्योगों का नाम दे सकता हूं और मुझे यकीन है कि यूएसए में भी इसी तरह की चीजें मिल सकती हैं।

मुख्य मुद्दा यह है: क्या आप अपने कोड बेस पर अकेले काम कर रहे हैं, या आप सहकर्मियों के साथ काम करते हैं?

यदि आप अकेले काम कर रहे हैं, तो आप अपने कंप्यूटर पर स्थानीय रूप से गिट का उपयोग कर सकते हैं , और .gitसमय-समय पर (उस बाहरी भंडारण स्थान पर) अपने कोड का बैकअप लें (और शायद आपके भंडार का भी )। काम के आधे दिन से अधिक कभी भी न खोएं (इसलिए समय-समय पर और मज़बूती से अपने डेटा का बैकअप लें)।

(मुझे लगता है कि आप कम से कम दोनों जानते हैं gitऔर svnऔर आप के तकनीकी श्रेष्ठता जानते हैं कि git, यदि आप भी जैसे कुछ उपकरण स्थापित करने के लिए अनुमति नहीं है gitअपने काम कंप्यूटर पर इस संबंध में आपको अपने बॉस के साथ एक गंभीर बातचीत करने की जरूरत है: आप की जरूरत बाहरी खुले स्रोत उपकरण स्थापित करने की क्षमता और प्राधिकरण (और जो आपकी जिम्मेदारी के साथ जाना जाता है , उन्हें बुद्धिमानी से और सावधानी से और बिना पहचाने कमजोरियों को चुनने, कॉन्फ़िगर करने और स्थापित करने के लिए जाता है )

यदि आप कई सहयोगियों के साथ काम कर रहे हैं (मुझे लगता है कि उनमें से एक दर्जन से कम है), तो आपको एक संस्करण नियंत्रण प्रणाली का उपयोग करने के लिए उन सभी को समझाने की जरूरत है, और आपको संभवतः अपने तत्काल (और आम) बॉस के बारे में बताने की आवश्यकता है। वह (शायद) निश्चित रूप से (या बस स्पष्ट रूप से स्वीकार) का फैसला कर सकता है कि कुछ मशीन (शायद कुछ पुराने डेस्कटॉप, शायद यहां तक ​​कि आपके खुद के डेस्कटॉप) का उपयोग जीआईटी सर्वर के रूप में किया जाता है। आपको पूरी तरह से उस सर्वर को सेट करने की आवश्यकता है ताकि गिट रिपॉजिटरी कम से कम हर घंटे बैकअप ले सके; आप अपनी टीम के काम के एक घंटे से अधिक खोने के बारे में (और आपको अपने बॉस से बात करने की आवश्यकता नहीं है) कर सकते हैं।

BTW, मुझे लिनक्स से प्यार है, और मैं एक gitसर्वर के रूप में काम करने वाली मशीन पर लिनक्स स्थापित करने की सिफारिश करूंगा ; फिर gitसमय-समय पर बैकअप स्थापित करना और कॉन्फ़िगर करना (कुछ crontabकाम के साथ ) बहुत आसान है; ध्यान दें कि एक gitसर्वर विंडोज क्लाइंट का उपयोग करके लिनक्स चला सकता है। मैं आपको सुझाव दूंगा कि अगर आप अपनी विकास मशीन को लिनक्स में बदल सकते हैं तो आप कर सकते हैं। यह "सस्ता" है और बहुत अधिक डेवलपर के अनुकूल है

लेकिन आपको एक SCM का उपयोग करने की आवश्यकता है। आप अपने बॉस से एक अलग सवाल पूछ सकते हैं: क्या आपकी टीम को मौजूदा एससीएम का उपयोग करना चाहिए या क्या यह पहिया को फिर से मजबूत करना चाहिए और अपना खुद का एससीएम बनाना चाहिए? बॉस आमतौर पर पहिया को फिर से बनाने के विचार के खिलाफ हैं। यदि आपको पहिया को फिर से स्थापित करने की अनुमति है, तो अपने बॉस को बताएं कि यह कम से कम एक साल के लिए पूर्णकालिक काम है (जो शायद आपके बॉस को रोएगा, फिर स्पष्ट तरीके से स्वीकार करेगा) और मज़े से अपना खुद का एससीएम बनायें। उस असंभावित मामले में, मौजूदा एससीएम सिस्टम का अध्ययन करना सुनिश्चित करें , और अपने एससीएम सिस्टम को कुछ मुफ्त सॉफ्टवेयर टूल (अन्य टीमों द्वारा उपयोग और सुधार करने के लिए) बनाने के लिए कहें।

आप की आवश्यकता हो सकती तैयार (कई दिनों के दौरान) एक सटीक और विशिष्ट एक एससीएम की जरूरत के लिए तर्क अपने तत्काल मालिक के लिए अपने सहयोगियों के लिए पहले, तो:। ठोस समाधान सुझाना भी सुनिश्चित करें (जैसे कुछ डेस्कटॉप या कुछ "पुराने" सर्वर पर कुछ git सर्वर चलाना, और इसे प्रति घंटे के हिसाब से crontabनौकरी देना)

बिना अनुमति के आपके कंप्यूटर पर किसी भी सॉफ्टवेयर (बाहर से, यहां तक ​​कि ओपन-सोर्स) स्थापित न करें (ज्यादातर देशों में, विशेष रूप से राज्य के लिए संवेदनशील आईटी काम के लिए, बिना अनुमति के सॉफ्टवेयर स्थापित करना कानूनी रूप से एक अपराध है, और आप अपना नुकसान कर सकते हैं यदि आप ऐसा करते हैं तो नौकरी पर जाएं या जेल जाएं .... ऐसा करने के लिए अधिकृत होना सुनिश्चित करें; शायद लिखित रूप में अनुमति पूछकर या कम से कम ईमेल द्वारा अपनी गांड को ढंकें)।

(या तो आपको केस के आधार पर किसी मामले पर पूछने की आवश्यकता होगी, या आपको अपने संगठन से विश्वास प्राप्त करने की आवश्यकता है, किसी भी कानूनी सॉफ़्टवेयर को स्थापित करने के लिए अनुमति दी जा सकती है- अत्यधिक खुला स्रोत या मुफ्त सॉफ्टवेयर- आपके कार्य कंप्यूटर पर)।

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

मैंने Visual SVN सर्वर स्थापित करने की कोशिश की, लेकिन यह विफल रहा क्योंकि मेरे पास स्थापित करने के लिए व्यवस्थापक विशेषाधिकार नहीं हैं।

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


5
क्या आप गितुब तक पहुँच सकते हैं और स्रोत से गिट का निर्माण कर सकते हैं?
विलेम

5
@RobertHarvey Security को हमेशा आपकी नौकरी करने की तुलना में कम प्राथमिकता होनी चाहिए (संगठन की, विशेष रूप से आपकी नौकरी की नहीं)। क्योंकि अगर आप कुछ नहीं करेंगे तो आप सबसे ज्यादा सुरक्षित होंगे। और फिर सरकार आपके संगठन का खंडन करती है क्योंकि यह कभी भी कुछ नहीं करता है (या यह ज्यादातर सरकारी संगठनों से भी कम करता है)। या आप सभी अपनी नौकरी खो देते हैं क्योंकि संगठन दिवालिया हो जाता है (यदि सरकार द्वारा वित्त पोषित नहीं है)। या इतने पर।
इम्बिसिस

6
@ जिमी: क्षमा करें, लेकिन यह एक पुआल आदमी है। पूर्ण सुरक्षा के रूप में ऐसी कोई बात नहीं है, और यदि आप इसे ठीक से करते हैं तो पर्याप्त सुरक्षा के लिए आपको उत्पादकता का त्याग करने की आवश्यकता नहीं है। ध्यान दें कि प्रभावी सुरक्षा के लिए सबसे सरल और सबसे प्रभावी तरीका (दी गई समझदार कार्य उत्पाद हैंडलिंग सावधानियां) बस इंटरनेट से अनप्लग करना है।
रॉबर्ट हार्वे

8
@RobertHarvey एक कर्मचारी को आपके आईपी चोरी करने से नहीं रोकेगा। अपने आईपी चोरी करने वाले कर्मचारियों को रोकने का सबसे आसान तरीका है कि आपके पास चोरी करने के लिए आईपी न हो। आपने कहा कि सुरक्षा पहली प्राथमिकता थी, दूसरी या तीसरी नहीं, इस मामले में उत्पादकता दूसरी या तीसरी प्राथमिकता होनी चाहिए, और इसलिए सुरक्षा के पक्ष में कम किया जाना चाहिए।
इम्बिसिस

3
@ इमिबिज़, आप किसी ऐसे व्यक्ति की तरह ध्वनि करते हैं, जिसके पास इन वातावरण में काम करने का कोई अनुभव नहीं है। आप उन ग्राहकों के बारे में भी बात कर रहे हैं जो कानूनी रूप से आपको लॉक कर सकते हैं और यदि आप उनका आईपी चुरा लेते हैं तो वह चाबी फेंक सकता है। यह एक ऐसा वातावरण है जहां सूचनाओं का गलत इस्तेमाल (आईपी की एकमुश्त चोरी भी नहीं) संगठन को गंभीर नुकसान पहुंचा सकता है। बेशक सुरक्षा प्राथमिक चिंता है। यह उस वातावरण में काम कर दर्द पैदा करता है।
बेरिन लोरिट्स्क

11

पहली बात मैं यह विशेष रूप से पहचानूंगा कि सरकारी एजेंसी (संभवतः आईटी विभाग) क्या आपत्ति जता रही है। यदि उनके पास संग्रहण स्थान है, लेकिन सर्वर के लिए VMs की मेजबानी का कोई तरीका नहीं है, तो समस्या यह हो सकती है कि आईटी विभाग SVN या GIT सर्वर के लिए नहीं कह रहा है और यह एक बड़ा अंतर है। यदि समस्या उत्पत्ति का देश है - अर्थात हम विदेशी संस्थाओं द्वारा निर्मित उपकरणों पर भरोसा नहीं करते हैं - तो यह एक अलग समस्या है।

आप फ़ाइल सिस्टम के भीतर पूरी तरह से जीआईटी चला सकते हैं, जो मैंने शिशु परियोजनाओं पर किया है इससे पहले कि मैं उनके साथ कुछ भी करने के लिए तैयार हूं। जीआईटी को भी स्थापित करने के लिए प्रशासनिक विशेषाधिकारों की आवश्यकता नहीं है।

यदि आप किसी भी कारण से Git का उपयोग नहीं कर सकते हैं, तो आपके पास कुछ विकल्प उपलब्ध हैं:

  • शिक्षित करें: संस्करण नियंत्रण की अनुमति न देकर, वे महत्वपूर्ण जोखिम का परिचय दे रहे हैं। आपको उन परिवर्तनों से बाहर निकलने की क्षमता की आवश्यकता है जो अधिक समस्याग्रस्त साबित होते हैं। आपको सरकारी धन और समय को बचाने की क्षमता की आवश्यकता है, और एससीएम ऐसा करता है। आपको स्पष्ट रूप से समझाने में सक्षम होने की आवश्यकता है कि कैसे। तुम भी वास्तव में घर बिंदु ड्राइव करने के लिए विकल्पों का विश्लेषण करने की जरूरत है।
    • एक विकल्प Git की मेजबानी की जाएगी
    • एक और फाइलसिस्टम गिट
    • कम से कम एक चुनें, लेकिन दो से अधिक वैकल्पिक SCM उपकरण नहीं
    • और अंत में संस्करण नियंत्रण के बिना काम करने के लिए क्या पसंद है
  • 70 के दशक के युग के विकास पर जाएं: एक कारण है कि patchऔर diffइसे बहुत पहले बनाया गया था (80 के दशक)। वे सक्षम करने वाली प्रौद्योगिकियां थीं जिन्होंने संस्करण नियंत्रण को संभव बनाया।

70 के दशक का विकास कैसा दिखता है? यह सुंदर नहीं है, लेकिन यह है कि हम कैसे शुरू कर दिया। एप्लिकेशन बहुत छोटे थे। अनिवार्य रूप से उनके पास कुछ सामान्य चीजें थीं:

  • स्वर्ण मानक की अवधारणा थी । यह मास्टर सोर्स कोड था जिसमें विशेषताएं पूर्ण थीं।
  • एक कॉन्फ़िगरेशन प्रबंधन (CM) टीम थी। उनकी जिम्मेदारी थी कि विकास से सोने के मानक में सही ढंग से बदलाव लाया जाए। यह वह जगह है जहां आपको जरूरत है patchऔर diffटीम के लिए स्थानापन्न करने की।
  • आपने स्रोत कोड की एक स्थानीय प्रति से काम किया है। आप इसमें एक विशेषता पूरी तरह से समाप्त करते हैं और इसे एकीकृत करने के लिए इसे सीएम टीम को सौंपते हैं। आमतौर पर एक साथ दस्तावेज होता है ताकि नई फाइलें बनाई जाएं और अप्रचलित फाइलें हटा दी जाएं, आदि।
  • तब आप एकीकरण प्रक्रिया से किसी भी त्रुटि को ठीक करते हैं।
  • इससे पहले कि आप एक अन्य सुविधा या बग को ठीक कर सकें, आपको सोने के मानक की एक नई प्रति मिल जाएगी।

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

यह वही है जो आपको अपने विकल्पों के विश्लेषण में शामिल करने की आवश्यकता है।


नाह, यहां के लोग आईटी विभाग को काम का एक महत्वपूर्ण हिस्सा नहीं मानते हैं। वे इसे एक माध्यमिक मानते हैं, एक विभाग जो अन्य विभागों के लिए सिर्फ एक सेवा है। तो यह पीड़ित हो सकता है :)
व्लाद

4
@Vlad, क्या आपने जांच की कि क्या इसके सर्वर संसाधन प्रतिबंधित हैं या एप्लिकेशन ही हैं? यदि यह सर्वर संसाधन है तो आप फ़ाइल मोड में git का उपयोग कर सकते हैं और यह कठिन तरीका (यानी 70 के दशक) को करने से बेहतर होगा।
बेरिन लोरिट्स

5
मैंने अपने ग्राहकों को शिक्षित करने के साथ एक लंबा रास्ता तय किया है कि उनके निर्णयों के साथ क्या लागतें जुड़ी हैं। विकल्पों का विश्लेषण उन निर्णयों के निहितार्थ को संप्रेषित करने का एक शानदार तरीका है। ज़रूर, यह बहुत काम है, लेकिन कुछ दिनों के प्रलेखन और संपादन आपको बाद में दिल का दर्द और सिरदर्द से बचा सकते हैं।
बेरिन लोरिट्श

9

टिप्पणियों में आपके द्वारा बताई गई बाधाओं को देखते हुए (जैसे: Git डाउनलोड पृष्ठ, विंडोज प्लेटफॉर्म और विजुअल स्टूडियो 2005 का उपयोग करके प्राप्त नहीं कर सकते), मैं 2 विकल्प देख सकता हूं, दोनों का मैंने पहले भी इसी तरह की स्थिति में उपयोग किया है:

  1. दृश्य स्रोत का उपयोग करें जैसा कि एमर्सन ने एक टिप्पणी में सुझाव दिया है। मैंने कुछ साल पहले वीएस 2005 का उपयोग करते हुए एक टीम के साथ काम किया था, जबकि बाकी कंपनी लिनक्स / यूनिक्स में मानक संस्करण नियंत्रण का उपयोग कर रही थी, और उन्होंने खुशी-खुशी अपने सीएम के लिए विजुअल सोर्ससेफ का इस्तेमाल किया। यह इस बिंदु पर बहुत पुराना है, लेकिन कुछ भी नहीं से बेहतर है।
  2. कुछ भी नहीं से बेहतर की बात करते हुए, मैं खुद को एक समान बांध रहा हूं। यदि आप वीएसएस (शायद प्लगइन स्थापित नहीं है?) का उपयोग भी नहीं कर सकते हैं, और जब से आप कहते हैं कि बहुत सारे भंडारण स्थान उपलब्ध हैं, उम्मीद है कि आपको इसके कुछ उपयोग की अनुमति है। मैंने एक मैनुअल फ़ाइल-आधारित संस्करण नियंत्रण प्रोटोकॉल लागू किया। प्रत्येक कार्य दिवस के अंत में, मैं अपने कोड आधार को एक नई तिथि-मुद्रांकित निर्देशिका में कॉपी करूंगा। अगर मुझे पिछले काम (या रोल बैक) को वापस संदर्भित करने की आवश्यकता है, तो मुझे उस परिवर्तन को खोजने के लिए पिछली दिनांक निर्देशिकाओं पर गौर करना चाहिए। जब से आपके पास विजुअल स्टूडियो उपलब्ध है, एक दो घंटों के भीतर, आप संभवतः वीएस 2005 का उपयोग करके एक सरल टूल लिख सकते हैं, जिससे आप डायरेक्टरी निर्माण और फाइल कॉपीिंग को स्वचालित कर सकते हैं।

1
I + 1ed आपके पहले विकल्प के लिए। आपका दूसरा विकल्प मुझे फेंकना चाहता है। लेकिन मैं समझता हूं।
jpmc26

@ jpmc26 कभी-कभी आप केवल 1990 के दशक में एक प्रतिबंधात्मक वातावरण में काम कर रहे हैं (या ऐसा लगता है कि यह 1990 के दशक में अटक गया है) और आपके पास वास्तव में कोई अन्य विकल्प नहीं है। सुखद नहीं, लेकिन कुछ भी नहीं से बेहतर।
ओगरे भजन 33

8

उनके पास टन भंडारण स्थान है

क्या आपको अपने निर्णय पर इसका उपयोग करने की अनुमति है?

यदि ऐसा है तो आप एक फाइल सिस्टम रिमोट रिपॉजिटरी बना सकते हैं जो कुछ भी नहीं से बेहतर है। नकारात्मक पक्ष यह है कि धक्का बढ़ रहा है जबकि परियोजना बढ़ रही है क्योंकि gitपरिवर्तनों को देखने के लिए पूरे भंडार को डाउनलोड करने की आवश्यकता है ...

अब तक कंप्यूटर सामान्य उपयोगकर्ता की तरह व्यवहार करते हैं, मुझे थर्ड पार्टी सॉफ़्टवेयर स्थापित करने के लिए मना करते हैं।

gitएक पोर्टेबल ऐप के रूप में भी आता है ताकि आप इसे अपने $ HOME या% USERPROFILE% पथ में स्थापित कर सकें।


निष्कर्ष के रूप में: मैं उन्हें SCM 1 का उपयोग करने से मना नहीं करूंगा । मैं इसे "निजी" में उपयोग करूंगा। आखिरकार कोई भी यह नहीं बता सकता है कि आपका कोड कहीं विकसित हुआ है या नहीं।

1 ) जब मैंने gitकुछ साल पहले उपयोग करना शुरू किया तो मेरे ग्राहक ने एक अलग SCM पसंद किया जो काफी धीमा और अविश्वसनीय था (जो एक SCM के लिए NOGO की तरह है (ओ?)। मैंने gitअन्य SCS के शीर्ष पर "निजी रूप से " का उपयोग किया है)। नेटवर्क साझा पर "फ़ाइल आधारित" रिमोट के साथ और उत्पाद के एक नए संस्करण के जारी होने के बाद केवल उनके एससीएम में जांच की गई।


3
मैं उस साइट को नहीं खोल सकता जहाँ से Git डाउनलोड करना है। और Visual SVN सर्वर स्थापित करते समय, यह इस पीसी पर अनुमतियों के साथ अंतिम चरण पर विफल रहता है।
व्लाद

3
@ Vlad क्या यह आपकी कंपनियों के फ़ायरवॉल द्वारा प्रतिबंधित है? क्या आपको USB स्टिक कनेक्ट करने की अनुमति है? क्या यह लिंक सुलभ है? github.com/sheabunge/GitPortable/releases/download/…
टिमोथी ट्रक्सले

3
मुझे अपने स्मार्टफोन को चार्ज करने के अलावा, USB स्टोरेज डिवाइस डालने की अनुमति नहीं है।
व्लाद

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

2
@Vlad का मतलब है, git के लिए इंस्टॉलर को एक्सेस करने के तरीके के रूप में। जैसा कि सेबस्टियन रेडल कहते हैं, सुनिश्चित करें कि आपको पहले अपनी मशीन पर सॉफ़्टवेयर चलाने की अनुमति है।
बाल्ड्रिक

7

आपका पर्यावरण

सबसे पहले, मैं इतना निराशावादी नहीं होऊंगा जैसे कई टिप्पणियों और उत्तरों में दिखाया गया है। हाँ, यह "पाषाण युग" है, लेकिन देखते हैं ज्यादा बदतर हालात। यदि आपका समग्र कार्य वातावरण (सहकर्मी, स्थान, भुगतान, दिलचस्प प्रोग्रामिंग कार्य आदि) ठीक है और आपके स्वाद के लिए है, तो हर तरह से इसके साथ रहें। आईटी के बारे में, यह वही है जो यह है। यह न केवल सरकारी एजेंसियों में होता है, बल्कि बैंकिंग, बीमा या जहां भी सुरक्षा, या बहुत पुरानी संरचनाओं पर बहुत बड़ा फोकस होता है, में भी होता है।

USB स्टिक सम्मिलित करना और कुछ .exe को वहां से चलाना अन्य स्थानों पर समाप्ति का तत्काल कारण होगा, इसलिए मैं आपको कुछ भी दरकिनार करने का सुझाव नहीं दूंगा।

एक बार और कोशिश करें

अब अपनी पसंद पर। मैं दृढ़ता से तुम्हारे लिए svn के बजाय git की सिफारिश करूंगा। यदि आप एक-व्यक्ति परियोजनाओं को वैसे भी कर रहे हैं, तो git .gitआपके एप्लिकेशन रूट के अंदर सिर्फ एक स्थानीय निर्देशिका है, और कुछ नहीं।

अपने बॉस / आईटी से "SCM" के लिए न कहें, बल्कि उन्हें विशेष रूप से gitअपनी मशीन पर स्थापित करने के लिए कहें ताकि आप तेजी से और उच्च गुणवत्ता के साथ विकसित कर सकें। उन्हें यह स्पष्ट करें कि आप अपने कोड को कहीं और धकेलना नहीं चाहते हैं, कि आपको कहीं चलने वाले सर्वर की आवश्यकता नहीं है, और यह महत्वपूर्ण स्थान या रखरखाव समय का उपयोग नहीं करेगा ।

Git आपके लिए गति और गुणवत्ता को केवल इसलिए बढ़ाएगा क्योंकि आप अधिक आत्मविश्वास के साथ काम कर सकते हैं (क्योंकि आप अपने द्वारा किए गए किसी भी परिवर्तन को पूर्ववत कर सकते हैं) और आपको एक ही समय में कई शाखाओं पर काम करने की अनुमति देते हैं। यानी, यदि आप एक बड़े काम पर काम कर रहे हैं, और कुछ ऐसा आता है, जिसमें आपको तुरंत ध्यान देने की ज़रूरत है, तो आप बस एक नई शाखा में जा सकते हैं, जल्दी से इसे ठीक कर सकते हैं, और फिर लंबे समय तक चलने वाले काम पर लौट सकते हैं।

इसे मैन्युअल रूप से करना

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

अपने कार्यों की प्रतिलिपि बनाकर, फिर से "शाखाएं" बनाएं, और जब वापस विलय करने का समय हो, तो कुछ मनमाना "diff" या "diff3" टूल का उपयोग करके रचनात्मक हो जाएं - मुझे नहीं पता कि आपके पास कोई उपलब्ध है, तो आपको करना होगा पता लगाएं।

यदि इस सब में आपका बहुत समय खर्च होता है, तो इस बात पर अच्छे से ध्यान दें कि क्या वास्तव में आपके लिए SCM का अनुकरण करना उचित है। आप पाते हैं कि यह तो है इसके लायक है, तो फिर अपने बॉस के साथ बात करते हैं। उसे अपने मैनुअल एससीएम के लाभ दिखाएं (न केवल "मेरे पास मेरे सभी पुराने काम की एक प्रति है" लेकिन "जब बग एक्सवाईजेड हुआ तो मैं तुरंत कारण खोजने में सक्षम था, 5 रिलीज से पहले")। फिर उन्हें बताएं कि यह कितनी तेजी के साथ होगा git

जाहिर है, अगर यह आपको पागल बना रहा है, तो नौकरी की तलाश हमेशा एक विकल्प है।


5

मुझे लगता है कि यहां बहुत सारे लोग इस सवाल का "सरकारी संस्थान" याद कर रहे हैं। कुछ सरकारी नेटवर्कों पर उनके द्वारा अनुमत सॉफ्टवेयर पर बहुत सख्त नियम हैं, और उन नियमों को तोड़ना एक ज्वलनशील अपराध है, शायद आपराधिक भी। मैं इसे प्रबंधन के माध्यम से यह देखने के लिए प्रेरित करूंगा कि क्या आप सॉफ़्टवेयर स्थापित करने पर कुछ अपग्रेड आंदोलन कर सकते हैं। मैं चरवाहे के पास नहीं जाता और खुद सामान स्थापित करता। यदि आप Linux / UNIX चला रहे हैं, तो देखें कि RCS (ci / co कमांड) या SCCS (sccs कमांड) स्थापित हैं या नहीं। ये पुराने SCM उपकरण हैं जो काफी मानक हुआ करते थे। यह सुंदर नहीं है, लेकिन मैं जो लिखने वाला हूं, उससे बेहतर। :)

चूंकि आपके पास डिस्क स्थान का "बहुत" है, एक स्रोत पेड़ बनाएं। छोटे पैमाने पर SCM की मूल बातें क्या हैं? चेक-इन परिवर्तनों में सक्षम होने के नाते, क्या बदला है, टैग सामान को देखें, और यदि आवश्यक हो तो पुराने संस्करणों पर वापस जाएं। स्रोत-ट्री के ऊपर एक स्तर, एक मेकफिल या स्क्रिप्ट बनाएं, जो आपके पास उपलब्ध है, उसके आधार पर, जो निम्न करता है (ये लिनक्स / यूनिक्स फ्लेवर्ड हैं, विंडोज कमांड अलग होंगे)

चेकइन करें - cp -a source-tree source-tree-date (कम से कम मिनट तक, अगर दूसरा नहीं, जैसे कि सोर्स-ट्री-20171205115433)

स्थिति बनाओ - diff -R source-tree source-tree-date | कम (यहां थोड़ा तर्क होगा, सबसे हालिया बैकअप के लिए चूक या एक संस्करण के खिलाफ अलग करने के लिए तर्क देना

टैग करें - ln -s source-tree-date release1.0 (किसी विशेष संस्करण का लिंक बनाएं)

उल्टा करना - rm -r source-tree && cp -a source-tree-date source-tree


1
विंडोज कमांड अलग - अलग होंगे - मुझे लगता है कि यदि आप विंडोज़ कमांड में समतुल्य प्रदान करते हैं तो सवाल का एक अच्छा जवाब होगा; मेरा मानना ​​है कि यहां उपयोग किया जाने वाला ओएस विंडोज़ है (वीएस 2005 के कारण)।
इमर्सन कार्डसो

1
FWIW, विंडोज़ में मौजूद नहीं है। निकटतम चीज़ fc.exe लगती है, जो केवल दो फ़ाइलों (निर्देशिकाओं पर नहीं) पर काम करती है। बाकी सभी के पास सरल समकक्ष हैं।
फेड एस।

4

इन्हें बेच दो

आपने यह टिप्पणी छोड़ दी :

उनके पास एक नेटवर्क ड्राइव है, जो मुझे नहीं पता कि यह कैसे अवधि में बैकअप बनाता है। हाँ। मैं इसका उपयोग करता हूं और मैं अपने ऐप्स वहां स्टोर करता हूं।

अपने श्रेष्ठ के पास जाओ और इस नस में कुछ कहो:

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

मैंने पहले इस प्रकार की प्रणालियों का उपयोग किया है, और वे उस कार्य में बहुत अच्छे हैं जो हमारा कस्टम सेट अप कर रहा है। हमारी वर्तमान प्रणाली की तुलना में उनके साथ गलतियाँ करना बहुत कठिन है। वे बहुत परिपक्व और व्यापक रूप से इस्तेमाल की जाने वाली प्रौद्योगिकियाँ भी हैं; इन उपकरणों का व्यापक रूप से 20 वर्षों से उपयोग किया जा रहा है। और उसके शीर्ष पर, हम लाइसेंस में एक पैसा भी भुगतान किए बिना सबसे लोकप्रिय सॉफ्टवेयर का उपयोग कर सकते हैं।

मैं एक ग्राहक और एक सर्वर को चुनने और उन्हें स्थापित करने में मदद करने में प्रसन्न हूं। मुझे उम्मीद है कि [insert estimate here]अगर मुझे मशीन मिल सकती है तो इसे स्थापित करने में केवल घंटों लगेंगे । कोई भी मशीन ऐसा करेगी, यहां तक ​​कि एक पुराना डेस्कटॉप भी सेवानिवृत्त होने वाला है, जब तक कि हम इसे नेटवर्क पर एक्सेस कर सकते हैं।

यहां उच्च स्तर का सारांश यह है कि आपको इसे उन शब्दों में रखना होगा जो वे समझ सकते हैं और यह सोचने की संभावना है कि यह इसके लायक है:

  • अन्य उद्देश्यों के लिए संसाधनों (हार्डवेयर और लोगों) को मुक्त करना
  • कम जोखिम (मानवीय त्रुटि, स्थिर प्रौद्योगिकी)
  • बढ़ती हुई उत्पादक्ता
  • लागू करने के लिए छोटी लागत

आपके वरिष्ठ तकनीकी लोग नहीं हैं और वे तकनीकी समस्याओं की परवाह नहीं करते हैं। लेकिन अगर आप पैसे और पैसे खर्च करने वाली चीजों के मामले में समस्या को हल कर सकते हैं , तो उनके कान थोड़े ऊपर आ सकते हैं।


1

खैर, आपके प्रश्न और बहुत सारी टिप्पणियों को पढ़ने के बाद, मैं समझ गया कि आपके पास निम्नलिखित बाधाएं / परिदृश्य हैं:

  • 1 व्यक्ति प्रति परियोजना;
  • आप केवल अपनी परियोजना के लिए विजुअल स्टूडियो 2005 के अलावा बाहरी उपकरणों का उपयोग नहीं कर सकते हैं; आप GIT या किसी अन्य SCM का उपयोग नहीं कर सकते हैं;
  • स्थानीय रूप से काम करते समय, आप परियोजना को कुछ टूटी हुई स्थिति में नहीं दे सकते, क्योंकि आपके पास समय-समय पर स्वचालित बैकअप हैं, और आपको इसे हर समय काम करने की आवश्यकता है;
  • परिवर्तनों को ट्रैक करने के लिए आपको कुछ इतिहास की आवश्यकता है;

यदि आप विज़ुअल सोर्स सेफ (जिसमें वीएस 2005 के साथ काम करने के लिए प्लगइन है) का उपयोग नहीं किया जा सकता है, तो आप दूसरे दृष्टिकोण का उपयोग कर सकते हैं।

उपरोक्त मदों के आधार पर, मेरा सुझाव है कि आप अपने प्रोजेक्ट फ़ोल्डर जैसे नीचे व्यवस्थित करें:

trunk           //last functional version of the app. IMPORTANT: YOU DON'T WORK WITH THIS FOLDER
    UnitTests   //important: create unitary tests in order to guarantee stuff is working after changes
    MyClassLibrary1
    MyClassLibrary2
    MyApplication
    Docs
    readme.md
    YouProject.sln
temp              //your working folder; has structure similar to trunk; changes will be commited to trunk;
    UnitTests     //important: create unitary tests in order to guarantee stuff is working after changes
    MyClassLibrary1
    MyClassLibrary2
    MyApplication
    Docs
    readme.md
    YouProject.sln  
build
    .history    //folder to contain changes in files and your comment (like commits in git)
    build.bat   //calls MSBuild to build temp\YourProject.sln, and run all unit tests
    save_on_trunk.bat   //if build is working, saves info from "diff.bat" in folder within ".history" with timestamp, and also overrides "trunk" with content from "temp"
    diff.bat         //compares files from "temp" and "trunk", using "dir" and "fc" commands
    history.bat  //outputs content from .history folder (contains file changes and comments)

यहाँ पालन करने के लिए बुनियादी नियम:

  • आपका कोड नियंत्रण प्रोजेक्ट के फ़ोल्डर में किया जाएगा;
  • आप कभी भी "ट्रंक" में काम नहीं करते हैं;
  • आप "अस्थायी" में काम करते हैं , को लागू इकाई परीक्षण , फोन build.bat , और फिर save_on_trunk.bat ;
  • महत्वपूर्ण: कुल अलगाव में चलने वाले यूनिट परीक्षणों को लागू करना; आपको यह गारंटी देने की आवश्यकता है कि नया कोड ट्रंक को नहीं तोड़ देगा;
  • चूंकि आपके पास स्वचालित बैकअप है, इसलिए कोड खोने की संभावना कम होगी; इसलिए, आपको केवल "ट्रंक" कोड को हर समय एक कार्यशील स्थिति में रखने की आवश्यकता है।

1
मैं कृपया डाउनवॉटर से यहां कुछ प्रतिक्रिया देने के लिए कहता हूं। मैं एक "करने के लिए अपने जवाब में सुधार करना चाहते कोड गुणवत्ता बनाए रखें एससीएम के बिना ? " सवाल।
एमर्सन कार्डसो

1

आप तकनीकी समाधान से बाहर भाग गए हैं। केवल राजनीतिक समाधान रह गए हैं।

1) डेवलपर्स को यूनियन करें। यदि पहले से ही एक यूनियन है, तो उनकी स्थिति को चुनौती दें क्योंकि कर्मचारी जो एक डेवलपर है, का वर्ग का प्रतिनिधित्व नहीं करता है। यदि डेवलपर का एक संघ का गठन आधे डेवलपर्स का समर्थन हासिल करने में विफल रहता है, तो जीओ। आप एक खराब फिट हैं।

2) समाचार पत्र विज्ञापन। यदि आपकी सरकार कानून की मान्यता प्राप्त मामले के रूप में मुफ्त भाषण की गारंटी नहीं देती है, तो यह आपको निकाल दिया जाएगा।


1
1) के रूप में कोई है जो एक संघ में एक सक्रिय सदस्य है, मैं बता सकता हूँ कि संघ उस बारे में बिल्कुल कुछ भी नहीं कर सकता है। एक सामूहिक उद्देश्य सामूहिक सौदेबाजी को नियंत्रित करना और यह सुनिश्चित करना है कि नियोक्ता द्वारा सामूहिक समझौते का उल्लंघन नहीं किया जा रहा है। नियोक्ता के आधार पर, आप वास्तव में एक यूनियन बनाने की कोशिश के लिए निकाल सकते हैं यदि प्रबंधन इसे हवा देता है। 2) भले ही देश अपने लोगों को मुफ्त भाषण की गारंटी देता है, एक कर्मचारी के रूप में आप अभी भी मीडिया के लिए नहीं चल सकते हैं। आप निश्चित रूप से इसके लिए आग हो सकते हैं।
सग्गीरुफ़स

1
यह उत्तर खोना है, स्थिति खोना है।
सग्गीरुफ़स

@SaggingRufus: यूनियन पूरी तरह से मांग कर सकते हैं कि उन्हें नौकरी के लिए सही उपकरण प्रदान किए जाएं। कर्मचारी-नियोक्ता एक निजी निगम के लिए मीडिया में नहीं जा सकते हैं, लेकिन एक सरकारी इकाई को उस तरह से जवाबदेह ठहराया जा सकता है।
यहोशू

1
जैसा कि कोई है जो एक तकनीकी कंपनी में एक संघ के लिए काम करता है, मैं आपको आश्वासन दे सकता हूं, हमारे पास बिल्कुल 0 है। जब तक यह स्वास्थ्य और सुरक्षा का मुद्दा नहीं बन जाता, संघ के पास कोई जगह नहीं है। मैं आपसे कुछ स्तर पर सहमत हूं। यदि यह "काम के लिए सही उपकरण" नहीं था, तो टिप्पणी का हिस्सा सही होगा। उदाहरण के लिए मान लें कि आप एक संघ में बढ़ई हैं और आपने नियोक्ता से आपको सीढ़ी खरीदने से मना कर दिया है और कहा है कि चढ़ाई करने के लिए आपको एक-दूसरे के ऊपर 7 कुर्सियां ​​खड़ी करने की जरूरत है। जब आप कह सकते हैं कि यह आपको उचित उपकरण प्रदान करने के लिए नियोक्ता दायित्व है। इस बिंदु पर, यह एक सुरक्षा मुद्दा बन गया है।
सागिंगराफस

0

विंडोज के लिए Git में "पोर्टेबल" संस्करण है । आप वास्तव में कुछ भी स्थापित करने की आवश्यकता के बिना, इसे अपने पीसी पर कॉपी कर सकते हैं या मेमोरी स्टिक पर रख सकते हैं। यदि समस्या बस स्थापना है, तो यह एक समाधान होगा।

कृपया ध्यान दें कि यदि वे एससीएम के विपरीत हैं, तो आप ISO-9001, DO-178B या अन्य प्रासंगिक सॉफ्टवेयर विकास मानकों के बारे में पूछे गए प्रश्न पूछना चाहते हैं।


1
यह केवल 20 से अधिक घंटे पहले पोस्ट किए गए इस पूर्व उत्तर में दिए गए दोहराए गए बिंदुओं के बारे में बताया गया है
gnat

@gnat मैंने वहां लिंक नहीं देखा?
ग्राहम

3
आप दूसरे लिंक पर टिप्पणी के रूप में अपना लिंक जोड़ सकते हैं।
icc97

0

बस एक नंगे डायरेक्टरी पर git चलाएं, जिसमें कोई सर्वर शामिल न हो। यह बिल्कुल भी मायने नहीं रखता है कि कोई और संस्करण नियंत्रण का उपयोग नहीं करता है, क्योंकि आप अपनी निर्देशिका को नियंत्रित कर सकते हैं। गिट को इस दुष्ट एससीएम परिचय परिदृश्य के लिए डिज़ाइन किया गया था, और यह अच्छी तरह से काम करता है।

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


-1

वास्तव में तीन अलग-अलग चीजें हैं जो आप एक पेशेवर डेवलपर के रूप में जोर देना चाहेंगे: कोड समीक्षा, संस्करण इतिहास और ट्रैकिंग परिवर्तन अनुरोध।

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

संस्करण नियंत्रण के लिए, यदि आपका कार्यस्थल किसी भी सभ्य समाधान की अनुमति नहीं देता है, तो यह एक योग्य डीवीडी का बॉक्स है जिसकी आपको आवश्यकता है। हर बार जब आपके पास एक संस्करण होता है जिसे आप वापस आने में सक्षम होना चाहते हैं, तो आप एक नई डीवीडी बनाते हैं।

(जाहिर है कि यह सब सलाह नहीं है जो तब तक ली जानी चाहिए जब तक आप वास्तव में ओपी की तरह बुरे कार्यस्थल पर न हों)।

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