किसी प्रोजेक्ट पर 2 लोगों के साथ काम का प्रवाह करें


18

मैं एक नौसिखिया प्रोग्रामर के रूप में आपके पास आता हूं जो अपने स्वयं के प्रोजेक्ट पर काम कर रहा है (जो अच्छी तरह से प्रगति कर रहा है)। मेरा सह-संस्थापक भी सीख रहा है कि कैसे प्रोग्राम करना है और एक ऐसे बिंदु पर पहुंच गया है जहां वह शायद कुछ चीजों को ठीक करना शुरू कर सकता है और कुछ चीजें बना सकता है।

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

क्या हमें सिस्टम के विशिष्ट भागों का मालिक होना चाहिए? में चेक कोड? को़ड समीक्षा?

आप> 1 देव के साथ कैसे काम करते हैं?


1
मेरा सबसे अच्छा संकेत इस पर एक नज़र है: nvie.com/posts/a-successful-git-branching-model यह टीम में कोड को व्यवस्थित करने का एक (अच्छा) तरीका है, और हम इसका उपयोग भी करते हैं

क्या आप परीक्षण लिखते हैं?
NARKOZ

... @ नारकोज़ - अभी तक नहीं। हम थोड़े सही से कूद गए। इसका कुछ करना मैं बस एक किताब खरीदना चाहता हूं।

2
@Geoff राइट: कृपया अपने प्रोफ़ाइल में जाते हैं और स्वीकार करते हैं (के बगल में सही का निशान बटन हिट) जवाब है कि लोगों को इतनी कृपा अपने प्रश्नों के प्रदान की है में से कुछ: stackoverflow.com/users/661241/geoff-wright
iwasrobbed

1
निजी रिपॉजिटरी के लिए bitbucket.com का प्रयोग करें
Klevis Miho

जवाबों:


23

मैं एक टीम में काम करता हूं जो git का उपयोग करता है, जहां 40+ डेवलपर्स किसी भी समय कई कोड रिपॉजिटरी (100+) पर काम कर रहे हैं। हमने बहुत कम डेवलपर्स के साथ शुरुआत की, कुछ वर्षों में टीम का आकार बढ़ रहा है। शुरुआत में हालांकि कुछ लोगों के साथ आप केवल एक न्यूनतम न्यूनतम git जानने के साथ दूर हो सकते हैं। समय के साथ आप अपने गिट फू में सुधार करेंगे, शक्तिशाली विशेषताओं की खोज करेंगे।

  1. आपको अपने कोड को होस्ट करने के लिए जगह की आवश्यकता होगी। उपयोग करने पर विचार GitHub या gitorious । दोनों का उपयोग करने के लिए स्वतंत्र हैं, लेकिन आपकी रिपॉजिटरी सार्वजनिक होगी और दूसरों को दिखाई देगी। यदि आप निजी रिपॉजिटरी चाहते हैं, तो आप उन्हें मुफ्त में गिथब में होस्ट या स्थापित कर सकते हैं और अपने स्वयं के गोरिस्ट सर्वर की मेजबानी कर सकते हैं
  2. शुरुआत में उन्नत वर्कफ़्लोज़ के बारे में चिंता न करना बेहतर है जिसमें फ़र्किंग, अनुरोधों को शामिल करना शामिल है। आप एक केंद्रीकृत तरीके से गाद का उपयोग करके शुरू कर सकते हैं (कंपकंपी!)। अपनी होस्ट की गई कॉपी को अपने सोर्स कोड की आधिकारिक कॉपी के रूप में समझें। आओ हम इस भंडार को कहते हैं upstream
  3. आप में से कोई एक स्थानीय गिट रिपॉजिटरी को सभी कोड देता है और उसे इस upstreamरिपॉजिटरी में धकेल देता है।
  4. टीम का अन्य सदस्य इस भंडार का क्लोन बना सकता है।
  5. न्यूनतम आदेशों का एक सेट जो आपको सीखना होगा, वे हैं clone , pull, push, add, commit, log, status, diff, branch, stash, apply, reset, format-patch, branchGittutorial से उनके बारे में और जानें
  6. आप में से कोई भी अब कोड के किसी भी हिस्से पर काम कर सकता है। चिंता न करें कि जब आप दोनों एक ही फाइल को संपादित करते हैं तो क्या होता है। Git वास्तव में मर्ज को संभालने और टकराव को ठीक करने में अच्छा है।
  7. छोटे परमाणु बनाएं और अच्छे लॉग संदेश लिखें । वर्तमान लॉग्स के लिए वर्तमान काल का उपयोग करें। आप अपनी स्थानीय प्रति के लिए अपनी पसंद की कोई भी संख्या बना सकते हैं क्योंकि यह दूसरे व्यक्ति के काम को प्रभावित नहीं करता है।
  8. जब आपको लगता है कि आपका कोड दूसरों के साथ साझा करने के लिए तैयार है, तो इसे upstreamरिपॉजिटरी में प्रकाशित करें । एक अच्छा अभ्यास हमेशा धक्का देने से पहले खींचना है । इस तरह से आप अपने रिपॉजिटरी को अन्य परिवर्तनों के साथ सिंक में रखते हैं।
  9. दोहराएँ कदम 7और 8

एक बार जब आप इस वर्कफ़्लो के साथ सहज हो जाते हैं, तो आप और अधिक उन्नत सामानों में प्रगति कर सकते हैं जैसे - सामयिक शाखाएँ, फ़ोर्किंग, पुल अनुरोध, विलय, अंतःक्रियात्मक रीबासिंग कमिट आदि।

यदि आप वास्तव में कोड की समीक्षा चाहते हैं, तो यह केवल git और ईमेल के साथ संभव है। जब आपकी टीम का आकार 10+ से आगे बढ़ता है तो यह आदर्श रूप से किसी प्रकार के ऑनलाइन टूल के साथ बेहतर होता है। तो व्यवहार में ऐसा करने के कई तरीके हैं, और यह सिर्फ एक सरल तरीका है:

  1. के साथ समीक्षा किए जाने के लिए एक सेट बनाएं git format-patch। यह पैच फ़ाइलों का एक सेट उत्पन्न करेगा। इन पैच को समीक्षक को ईमेल करें।
  2. समीक्षक पैच के साथ आवेदन कर सकता है git apply। यह पैच लागू करता है लेकिन एक कमिट नहीं बनाता है।
  3. कोड की समीक्षा करें और सुझावों के साथ वापस ईमेल करें।
  4. संतोषजनक होने तक 1-2-3 दोहराएं।
  5. समीक्षक पुष्टि करता है कि पैच को धक्का दिया जा सकता है upstream

मैं इस सूची में गिट रिबास भी जोड़ना चाहूंगा।
alock27

1
मैं असहमत हूं कि stash, apply, format-patchन्यूनतम ज्ञान का हिस्सा हैं। मैं आमतौर पर उन चीजों को पढ़ाने से पहले कुछ महीने इंतजार करता हूं। मुझे लगता है कि> देव के 50% को रोक नहीं है।
माइकल डुरंट

1
कॉल करें upstream originऔर यह अन्य उदाहरण बनाने में मदद करेगा (जो आमतौर पर उपयोग करते हैं origin) का पालन करना आसान है।
माइकल डुरंट

2

मैं इसके लिए github और इसकी सभी कार्यक्षमता का उपयोग करता हूं। http://www.github.com/ पर देखें, ताकि आप अपने साथी के साथ काम करने के लिए शाखाओं, कांटे, मुद्दों का उपयोग कर सकें।


0

पहली चीज जो मैं करता हूं वह एक केंद्रीय कोड रिपॉजिटरी में दिखती है ताकि बदलावों को मर्ज किया जा सके और आपकी दो परियोजनाओं के बीच तालमेल बना रहे। एसवीएन एक अच्छा आसान है जिसे मैंने अतीत में इस्तेमाल किया है और यह लंबे समय से पर्याप्त है कि यह काफी परिपक्व है एसवीएन है

उसके बाद मैं आप दोनों में से किसी एक की भूमिका निभाने जाऊंगा

  1. क्या आप कोड की कार्यक्षमता को tandom में लिखने जा रहे हैं या एक व्यक्ति बग सुधार करने जा रहा है जबकि दूसरा सुविधाओं के साथ जारी है।
  2. क्या आप मूल कोडिंग मानकों का एक सेट बनाना चाहते हैं, जैसे ब्रेस पोजीशन, प्राइवेट मेंबर वेरिएबल नेमिंग, वैरिएबल और मेथड नेमिंग कन्वेंशन (कैमलकेस आदि)
  3. आपको कितनी बार जांच करने की आवश्यकता है। मैं दिन में कम से कम एक बार यह सुनिश्चित करने का सुझाव दूंगा कि आप दोनों यह देख रहे हैं कि दूसरा क्या कर रहा है। हालांकि हमेशा एक चेकइन से पहले यह सुनिश्चित करना है कि कोड निर्माण योग्य है।
  4. वह मालिक है, लेकिन क्या आप प्रोग्रामिंग लीड बनने जा रहे हैं?

सौभाग्य!


1
एसवीएन एक सभ्य विकल्प है (और मैं वर्तमान में काम पर इसका उपयोग कर रहा हूं) ... लेकिन जीआईटी और एचजी मुझे थोड़ा बेहतर लगा है क्योंकि मैं स्थानीय रूप से प्रतिबद्ध कर सकता हूं (और जब मैं कुछ गूंगा था तो वापस कर दूंगा) दूसरों को सौदा करने के लिए मजबूर किए बिना। (अगर वे svn अद्यतन) मेरे कोड के साथ काम नहीं कर सकते हैं। ईमानदारी से मैंने इस कारण से कार्यालय में गिट का उपयोग करना शुरू कर दिया, लेकिन मैं अभी भी एसवीएन के लिए git-svn का उपयोग करके अपने परिवर्तन वापस प्रकाशित कर सकता हूं
केन हेंडरसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.