मुझे एक प्रतिबद्ध संदेश क्यों लिखना चाहिए?


18

मुझे एक प्रतिबद्ध संदेश क्यों लिखना चाहिए? मैं नहीं चाहता और मुझे लगता है कि हर बार इसकी बेवकूफी होती है।

एक GUI दृश्यपटल का उपयोग मैं करता हूँ जो आपको यह करने के लिए अनाम बल जाएगा। मैं हर बार ऐसा करते हुए सुनता हूं, भले ही वे कमांड लाइन पर वीसीएस का उपयोग कर रहे हों।

यदि मैं एक दिन में कई बार करता हूं और एक सुविधा समाप्त नहीं की है जो मैं लिख रहा हूं? मैं कभी भी कई कमिट के बाद एक संदेश लिखता हूं और मुझे लगता है कि यह मिनी टैग का समय है या जब मैं एक वास्तविक टैग करता हूं।

क्या मैं सही हूं या मैं कुछ याद कर रहा हूं? मैं भी एक वितरित प्रणाली का उपयोग कर रहा हूँ


1
परेशान मत हो, बस टिप्पणी लाइन में "ब्ला" कहें। जब तक आप कभी किसी और के साथ कोड साझा नहीं करते हैं और जब तक कोई और उस पर काम नहीं करेगा और जब तक आपको कोड को रोलबैक करने की आवश्यकता नहीं है और जब तक आप कभी भी एक कोड की गलती नहीं करते हैं और ... एक मिनट प्रतीक्षा करें, आप फिर से संस्करण नियंत्रण का उपयोग क्यों कर रहे हैं?
माइकल डुरंट

जवाबों:


24

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

यदि आप git का उपयोग कर रहे हैं , तो यह वही है जो मैं एक स्मार्ट वर्कफ़्लो कहूंगा:

  1. जितनी बार चाहें उतनी बार कमिट करें । वहां कोई भी पुराना क्विक मैसेज लिखें। कोई भी इसे किसी भी तरह से नहीं देखेगा।
  2. कहने के बाद, 10 कमिट करता है, आपने वह सुविधा समाप्त कर ली है जिस पर आप काम कर रहे थे। अब परीक्षण लिखें और उन परीक्षणों को प्रतिबद्ध करें। या फिर जो भी आप चाहते हैं। यदि आप TDD पसंद करते हैं, तो पहले परीक्षण लिखें, मुझे परवाह नहीं है, न ही गिट।
  3. git rebase -iपहले 'गड़बड़' से आपने जोड़ा और अपने स्थानीय इतिहास को स्क्वाश करके, संपादित करना, छोड़ना और अन्यथा अपने हाल के इतिहास को तार्किक, साफ-सुथरे संदेशों के साथ साफ करके अपने स्थानीय इतिहास को ठीक करना ।
  4. सफाई के बाद, किसी को आपसे खींचने के लिए कहें।
  5. धोये और दोहराएं।

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

यह भी ध्यान दें कि चरण 1 और 3 के बीच कहीं भी, git pushयदि आपका लैपटॉप HDD मर जाता है, तो मुफ्त बैकअप प्राप्त करने के लिए आप सर्वर पर अपने निजी रेपो दर्पण में अपने बदलाव कर सकते हैं ।


अच्छा जवाब, मुझे यह पसंद है। मैं रिबास का उपयोग करने से थोड़ा डरता हूं। यहाँ यह गलत हो रहा है और इसे पुनर्प्राप्त करने के बारे में एक लेख है bluemangolearning.com/blog/2009/03//

@acid, यदि आप अपने स्वयं के निजी परिवर्तनों को वापस कर रहे हैं, तो कोई विरोध नहीं होना चाहिए। इसके अलावा, आपको किसी भी चीज को खोने के लिए कड़ी मेहनत करनी होगी।
एलेक्स बडोव्स्की

4
मेरे वर्कफ़्लो, गिट चट्टानों
Nazgob

1

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

55

क्योंकि जब कुछ गरीब अनुचर बग का शिकार कर रहे होते हैं और पाते हैं कि इसे उल्टा जोड़ा गया था। xyz, वह जानना चाहेगा कि कौन सा संशोधन। xyz करने वाला था।


38
अच्छी तरह से तब वह स्पेगेटी की 5,000 पंक्तियों को पढ़ सकता है जिसे मैंने अभी चेक किया है, JEESH !!! कुछ लोग सिर्फ आलसी होते हैं!
एडवर्ड स्ट्रेंज

9
जब आप के बाद (3 साल के समय में) गरीब चूसने वाला आता है और इतिहास को देखता है और आगे बढ़ता है ... WTF .. WTF .. WTF, उसे कम से कम कुछ तो पता होगा कि क्या चल रहा था। आप आसानी से "रूटीन चेकइन, फीचर एक्स, अपूर्ण" जैसी टिप्पणी जोड़ सकते हैं।
जल्दी_बहुत

3
@ acidzombie24: क्योंकि हर कमिट को यह कहना चाहिए कि यह किस लिए था - भले ही वह "टाइपो में सही हो ...", फिर भी संशोधन इतिहास का कोई मतलब नहीं है, जब तक आप नहीं जानते कि संशोधन क्या हैं।
परिक्रमा

11
@quickly_now, खराब चूसने वाला खुद भी हो सकता है। दुर्भाग्य से यह उन चीजों में से एक है जिसे आपको पूरी तरह से सराहना करने के लिए खुद का अनुभव करना चाहिए

2
@acidzombie - आप अधूरे बदलावों में जाँच क्यों कर रहे हैं ??
एडवर्ड स्ट्रेंज

35

आप अपने स्रोत कोड, सही टिप्पणी?

आप बहुत बेहतरीन टिप्पणी, उन है कि कहते हैं कि लिखना क्यों कोड के रूप में इतना ही कह कैसे ?

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

किसी भी सक्रिय सॉफ़्टवेयर के लिए, यह विशेष टिप्पणी कुछ इस तरह दिखाई जाएगी

gitk - लंबा नमूना

( http://longair.net/blog/2009/04/04/25/a-few-git-tips/ पर पाया गया )। इस का एक पक्षी नजर देखने की अनुमति देता है जो सॉफ्टवेयर पर काम किया है जब , और क्या उन्होंने किया।

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


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

2
@acidzombie, अगर आपने किसी टिप्पणी को वारंट करने के लिए पर्याप्त बदलाव नहीं किए हैं तो आप क्यों प्रतिबद्ध हैं? कृपया समझाएँ।

2
@ थोर: क्योंकि संस्करण नियंत्रण आपके कोड को नुकसान से बचाता है, और यहां तक ​​कि आधे किए गए कोड को भी संरक्षित किया जाना चाहिए।
बेन वोइगट

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

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

15

यदि प्रतिबद्ध संदेश आपको बेवकूफ़ लगता है तो ऐसा लगता है कि आप गलत का उपयोग कर रहे हैं।

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

तब आपके प्रतिबद्ध संदेश एक बेहतर उद्देश्य की पूर्ति करते हैं। समाप्त किए गए कार्य का वर्णन करें और यदि उसका ट्रैक कहीं और नहीं है, तो उस कार्य की आवश्यकता क्यों है या वह किस उद्देश्य से कार्य करता है:

  • बेहतर एनकैप्सुलेशन के लिए उपयोगकर्ता वर्ग को दर्शाया गया
  • बनाया एपीआई स्टब्स तो इंटरफेस वर्ग में इंटरफेस का इस्तेमाल किया जा सकता है
  • डेटाबेस क्लास को अमूर्त वर्ग में परिवर्तित कर दिया ताकि परीक्षण मामलों में एक मॉक डेटाबेस का उपयोग किया जा सके

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


1
+1, लगता है कि वह बहुत बार या खराब रोक बिंदुओं पर प्रतिबद्ध है। यदि वह केवल कुछ प्रयोगात्मक परिवर्तनों के लिए एक अच्छा बैक-अप बिंदु चाहता है, तो वह सूचकांक का उपयोग कर सकता है, एक अस्थायी शाखा, नए बनाने के बजाय पिछले कमिट में संशोधन कर सकता है, या अपने संपादक में पूर्ववत बफर का उपयोग भी कर सकता है।
कार्ल बेज़ेलफेल्ट

1
@ कर्ल: IIRC लाइनस ने अपनी git google टॉक में कहा कि प्रति दिन औसतन 6 कमिट किए जाते हैं। अब, मुझे नहीं पता कि कितना माना जाता है, लेकिन इस प्रोजेक्ट पर अभी मैंने कमिट किया जब मुझे कुछ रिफ्लेक्शन वर्किंग मिला (आई लूप द राइट डेटा, आई डोन्ट दे डू इट समथिंग), मैंने जनरेट किया इंटरफेस के बाद लेकिन सीरियलाइजेशन वर्क से पहले। और मैं अब काम कर रहा हूँ serialization काम कर रहा है, भले ही मैं 2 घंटे पहले इंटरफ़ेस था। मैं काम करता हूं और एक बार 'प्रतिबिंब मूल बातें' कहूंगा, लेकिन पहले तीन पर मैं कभी भी एक टिप्पणी क्यों छोड़ूंगा जब मैं आसानी से देख सकता हूं कि जब हर एक्स काम करता है।

वास्तव में जब तक मैं कुछ बुनियादी परीक्षण प्राप्त नहीं कर लेता, तब तक मैं रोक सकता हूं, अन्यथा, अगर मैं हर प्रतिबद्ध टिप्पणी करता हूं तो मुझे कैसे पता चलेगा कि इनमें से कौन सा एक स्थिर प्रतिबिंब है? 'परावर्तन मूल बातें', 'परावर्तन क्रमांकन' 'परावर्तन क्रमबद्ध परीक्षण' यह मानते हुए कि यह दूसरा या तीसरा हो सकता है। टेस्ट का मतलब यूनिट टेस्ट या टेस्ट हो सकता है, इसका मतलब परीक्षण हो सकता है, अगर इसके लिए मुझे मूल कक्षाओं की आवश्यकता होती है। मुझे लगता है कि टिप्पणी करने से समझ में आता है जब मैं कह सकता हूं कि 'प्रतिबिंब कार्य मूल बातें' बल्कि तब अनुमान लगाएं कि इनमें से कौन सा मूल अर्थ काम कर रहा है। इसके अलावा स्किम / आसान जब पढ़ने के लिए theres कम लगता है।

@acid, एक प्रतिबद्धता का संपूर्ण उद्देश्य इसके पीछे वापस जाने या इसके साथ परिवर्तनों की तुलना करने में सक्षम होना है। यदि आपको कभी ऐसा करने की आवश्यकता होती है, तो आपके पहले वाले कामों के साथ, आपको कैसे पता चलेगा कि कौन सा चुनना है? आपको यहां उपन्यास लिखने की जरूरत नहीं है। "इंटरफ़ेस काम कर रहा है," "क्रमांकन काम कर रहा है," और "प्रतिबिंब काम" मेरे विचार में बस ठीक हैं। प्रति दिन एक निश्चित अधिकतम संख्या नहीं है, लेकिन यदि आपके संदेश "इंटरफ़ेस पर कुछ काम" जैसे "इंटरफ़ेस पर कुछ और काम" "इंटरफ़ेस लगभग पूरा हो चुके हैं" पढ़ेंगे, तो आप बहुत बार कमिट कर रहे हैं और बस उपयोग करना चाहिए अनुक्रमणिका।
कार्ल बेज़ेलफेल्ट

@ कार्ल: क्या सूचकांक btw? मुझे पता है git में एक कड़ी है लेकिन मुझे नहीं लगता कि आपके बारे में बात कर रहा हूँ। यह क्या करता है?

12

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

उनमें से एक बड़ा सौदा मत करो। ईमानदार हो:

  • "सुविधा X को संभालने के लिए स्थानिक सूचकांक इकाइयाँ, Daos और UIs"
  • "इंक्रीमेंटल चेक-इन सुविधा अनुरोध # 1234 और बग # 5678 के लिए"
  • "मैंने आखिरी निर्माण को तोड़ दिया। ये वे फाइलें हैं जो मैंने याद कीं।"

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


2
इसे छोटा रखने के विचार के लिए +1। छोटा और सरल और काफी अच्छा पूरी तरह से ठीक है।
जल्दी_बस

1
IMHO एक बेहतर मार्गदर्शन आम होगा "जितना संभव हो उतना छोटा, जब तक आवश्यक हो" नुस्खा; चूँकि कभी-कभी यह आवश्यक जानकारी का त्याग किए बिना इसे छोटा रखना संभव नहीं होता है
hvr

11

यह डब्ल्यूटीएफ / मिनट की संख्या को कम करता है;)

यहाँ छवि विवरण दर्ज करें

जो एक खुश टीम में अनुवाद करता है (जो आपसे नफरत नहीं करता है), और कम लागत पर बेहतर टीम आउटपुट संभावित रूप से


4
मैं इस मतदान करता है, तो आप पर सविस्तार होगा क्यों कि यह सच है।
सिंगलएनजेशन इलेक्शन

@TokenMacGuy - क्षमा करें, मैं अनुसरण नहीं कर रहा हूं।
रूक

1
अभिव्यंजक प्रतिबद्ध संदेश कैसे करते हैं WTFs / मिनट कम करें (वे निश्चित रूप से करते हैं)
SingleNegationElimation

@TokenMacGuy - मुझे लगा कि यह स्पष्ट था।
रूक

9

इसलिए आपकी टीम के बाकी सदस्यों को पता है कि आप डब्ल्यूटीएफ प्रोजेक्ट ट्री में बदलाव की जाँच कर रहे हैं।


7
मैं अपनी परियोजनाओं के लिए प्रतिबद्ध संदेश जोड़ता हूं, जब मैं केवल विकासकर्ता हूं! क्योंकि जब मैं इस सामान को देखने के लिए 2 साल में वापस आता हूं, तो मैं उस समय डब्ल्यूटीएफ मैं जानना चाहता हूं। मैं पूरी तरह से अच्छी तरह से जानता हूं कि 99% समय इस पर नहीं लगेगा। 1% समय यह मुझे 2 सप्ताह की पीड़ा से बचाएगा, और मुझे लगता है कि 10 सेकंड के संदेश में प्रवेश करने की कीमत लंबे समय के लाभ के लायक है जो मुझे मिलेगा।
जल्दी से_अगले

@quickly_now, agony भी? अपने कोड है कि बुरा?

1
@quickly_now: आमीन। एक या दो साल के अंतराल में, मेरे पास बहुत से कोड आते हैं, जो हर अंतिम बिट महीनों के बाद करना चाहिए था, भगवान ही जानता है। ईश्वर, और मेरा संशोधन इतिहास।
परिक्रमा

अरे हाँ। मैं भी सहमत हूँ। मैं इसे अनुभव == विनम्रता के रूप में सोचता हूं।
माइकल डुरंट

8

क्योंकि यदि आप सभ्य प्रतिबद्ध संदेशों को दर्ज करने का अभ्यास नहीं करते हैं, तो आप मेरी कॉलगर्ल की तरह समाप्त हो जाएंगे जो संदेशों की तरह प्रवेश करती हैं

no changes

या

testing

सौ से अधिक परिवर्तित फ़ाइलों के साथ आने के लिए (यहाँ कोई मजाक नहीं है !!)।

यदि आप इस तरह के डेवलपर बन जाते हैं, तो आप बाकी दुनिया की नजरों में बेवकूफ दिखेंगे, चाहे आप कितना भी बेवकूफ समझें, यह सिर्फ एक संदेश दर्ज करना है।


1
अगर मैंने कभी सुना, तो प्रतिबद्ध से पहले सहकर्मी की समीक्षा के लिए एक आदर्श उम्मीदवार की तरह लगता है।

2
अरे यार, मैंने इस तरह के लोगों के साथ काम किया है। मुझे परेशान करता है।
sevenseacat

4

यदि परिवर्तन सार्थक नहीं हैं तो आप क्यों प्रतिबद्ध हैं?

बस उन परिवर्तनों को करें जिनका एक अर्थ है। उदाहरण के लिए, मैंने दूसरे हफ्ते में एक बड़ा रिफैक्टिंग किया, जिसमें मुझे लगभग 3 दिन लगे। मेरे पास उस समय के दौरान बहुत सारे आवागमन होंगे। कुछ बजाय छोटे परिवर्तन ('नई जिम्मेदारी को दर्शाने के लिए X को Y का नाम दिया गया था' या 'स्थानांतरित विधि Z () से वर्ग Q') और अन्य वास्तव में बड़े थे। जब मैं एक फीचर / रीफैक्टरिंग के साथ किया जाता हूं, तो मैं जांचता हूं कि क्या कुछ कमिट्स को स्क्वैश किया जा सकता है (कम से कम गिट का समर्थन करता है, अन्य उपकरणों के बारे में नहीं जानते), लेकिन आमतौर पर मैं उन्हें छोड़ देता हूं क्योंकि यह बाद में मदद करता है।

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


3

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

लेकिन दुर्भाग्यवश संशोधन संख्या आपको यह नहीं बताती है कि आपने एक्स या वाई कब बदला है। इसलिए आपकी पसंद या तो पिछले एन दिनों के दौरान किए गए सभी कोड पढ़े गए या आपके द्वारा लिखे गए विस्तृत प्रतिबद्ध संदेश पढ़ें (कोड से बहुत अधिक पठनीय)।

इसलिए यदि आप एक ही, उबाऊ, बेकार, गैर-संबंधित पाठ को प्रतिबद्ध संदेश में लिखते हैं, क्योंकि आपके पास, प्रतिबद्ध संदेश होने की तुलना में अधिक हानिकारक है। क्योंकि बग गलत संदेश की जड़ खोजने के बजाय आपको गुमराह करेगा।

इसलिए हर बार आपके द्वारा किए गए सार्थक संदेशों को लिखने की कोशिश करें जो आपकी मदद कर सकें और साथ ही आपको बनाए रखें।


मुझे दिन के अंत में, हर दूसरे दिन या जब मैं एक सुविधा समाप्त करता हूं, तब हर प्रतिबद्धता के दौरान ऐसा क्यों करना चाहिए?

1
आप अक्सर ऐसा क्यों करते हैं, अगर यह "प्राकृतिक" कारण नहीं है?

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

@ acidzombie24 जब तक आपके पास वास्तव में नहीं है, तब तक आधा तैयार सामान न दें। और इसलिए दूसरे लोग यह देख सकते हैं कि जब आप एक दिन बीमार होते हैं और कुछ काम नहीं करते हैं तो आप क्या कर रहे हैं / काम कर रहे हैं। या इसलिए आप यह याद रख सकते हैं कि जब आप 2 दिनों के लिए बैठते हैं तो आपको कहाँ छोड़ना होता है। या इसलिए आप अधिक आसानी से पिनपॉइंट करते हैं जो संशोधन ने एक निर्माण को तोड़ दिया और अंतर को देखो।
ओपन स्कूल

@ Thorbjørn: मैं एक बदलाव क्यों नहीं करूंगा जो मैं फिर से करना चाहता हूं?

3

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

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

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


3

आप कुछ याद कर रहे हैं। कमिटमेंट करने का एक कारण होना चाहिए अन्यथा आप ऐसा नहीं करेंगे।

आपको केवल टिप्पणी में करने की आवश्यकता है कि शब्दों को तर्क में डालना है, भले ही वह केवल हो wip: adding new state objects


बिल्कुल सही। यहां तक ​​कि अगर (जैसा कि पहले उल्लेख किया गया है) यह सिर्फ कोड है, तो आप इसे फिर से लिखना चाहते हैं, तो इसका मतलब यह है कि इसके बारे में सुपर-क्विक सारांश लिखना मुश्किल नहीं होना चाहिए।
sevenseacat

2

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

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

मैं यह बताने की कोशिश कर रहा हूं कि अच्छी प्रतिबद्ध संदेश आपकी (और आपके बाद आने वाले किसी व्यक्ति) को यह पता लगाने में मदद करते हैं कि क्या खुश हुआ है, क्या चल रहा है, जहां चीजें चल रही हैं और सबसे ऊपर क्यों।


2

इसके बारे में तार्किक रूप से एक मिनट के लिए सोचें। जब आप कमिट कर रहे हैं तो इसका मतलब है कि कुछ किया गया था। यदि आप कोई संदेश नहीं छोड़ते हैं तो अन्य लोगों को कैसे पता चलेगा कि क्या किया गया था?


मेरे अविश्वसनीय रूप से स्पष्ट कोड पर एक नज़र और वे तुरंत सब कुछ जान जाएंगे जो यह करता है और सभी अद्भुत परीक्षण यह 100% से गुजरता है। क्षमा करें, मैं आज रात एक मज़ाकिया मूड में हूँ [इसलिए मैं ख़ुश हूँ];)
माइकल डुरंट

1

यदि आप अपने कमेंट्स पर टिप्पणी नहीं करते हैं, तो आप स्रोत में बदलाव के बारे में टिप्पणी करने के लिए लुभा सकते हैं। समय में, वह स्रोत को अव्यवस्थित कर सकता है।


2
मैं ऐसा करने के लिए प्रलोभन नहीं कर रहा हूँ

1

प्रतिबद्ध संदेश यह जानने का एक त्वरित तरीका है कि उस चेक-इन में क्या हो रहा है और आपकी टीम में अन्य देवों की मदद करेगा जब वे जानना चाहते हैं कि कोड का कौन सा पहलू बदल गया है (संशोधन कारणों से)।

संबंधित नोट पर, मैं कमेटी मैसेज में बग ट्रैकर केस नंबर (मुझे आशा है कि आप एक का उपयोग कर रहे हैं) को निर्दिष्ट करने का सुझाव देंगे , ताकि भविष्य में आसानी से चीजों को ट्रैक करने में मदद मिलेगी।


1

ताकि उस कोड का अनुचर 1 साल बाद जानता है कि किसको उस अत्याचारी कोड का शिकार करना है। :)


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