मैं निम्नलिखित वर्कफ़्लो को प्राप्त करने का एक तरीका ढूंढ रहा हूं:

  1. मैं अपने कोड में एक छोटा सा बदलाव करता हूं
  2. मैं का वर्णन करते हुए पाठ संलग्न करता हूँ पिछला कोड एक संदेश में बदल जाता है कि मेरे अगले . के साथ संलग्न किया जाएगा प्रतिबद्ध
  3. प्रतिबद्ध करने के लिए तैयार होने तक चरण 1 और 2 दोहराएं
  4. पूर्ण संदेश पाठ के साथ प्रतिबद्ध स्वचालित रूप से संलग्न (संभवतः संदेश में अंतिम पाठ जोड़ने के विकल्प के साथ)

संपादित करें: संदेश केवल एक ही प्रतिबद्धता पर लागू होगा। यह आपको अपने आगामी प्रतिबद्ध संदेश में निरंतर परिवर्धन करने में सक्षम करेगा।

वर्तमान में, सबसे अच्छा समाधान यह है कि पहले परिवर्तन के लिए प्रतिबद्ध किया जाए, और फिर प्रत्येक निम्नलिखित परिवर्तन पर प्रतिबद्ध --संशोधन किया जाए और पिछले संदेश को संशोधित किया जाए।

git
0
JackCA 12 अप्रैल 2011, 21:02
मैंने स्टैक ओवरफ़्लो में माइग्रेट करने के लिए मतदान किया।
 – 
Dan Ray
12 अप्रैल 2011, 21:04
वास्तव में ऐसा करने जा रहा था, लेकिन मुझे लगा कि मुझे यहां वापस जाने के लिए बहुत सारे वोट मिलेंगे ...
 – 
JackCA
12 अप्रैल 2011, 21:06
2
क्या आपके सभी परिवर्तनों को भंडार में लाने के लिए गिट के पास एक अलग पुश चरण नहीं है? आप जो भी ग्रैन्युलैरिटी चाहते हैं, उस पर आप अपने स्थानीय रेपो में कमिट कर सकते हैं (प्रभावी रूप से अपने चरण 1 और 2 को दोहराते हुए) और फिर जब आप तैयार हों तो एक पुश करें (यह आपका चरण 4 है)।
 – 
Adam Lear♦
12 अप्रैल 2011, 21:07
मैं निश्चित रूप से प्रतिबद्ध -- संशोधन कर सकता था और फिर हर बार संदेश बदल सकता था। क्या यह एक बेहतर तरकीब है?
 – 
JackCA
12 अप्रैल 2011, 21:12
1
मैं एक ही धक्का के बाद कई स्थानीय कामों की तर्ज पर और सोच रहा हूं।
 – 
Adam Lear♦
12 अप्रैल 2011, 21:29

3 जवाब

सबसे बढ़िया उत्तर

अपने "चरण 3" को केवल "प्रतिबद्ध" करने के लिए क्यों न बदलें? गिट का सबसे अच्छा हिस्सा यह है कि यह अनुमति देता है - यहां तक ​​​​कि पारिस्थितिक - कई छोटे, वृद्धिशील आपके स्थानीय भंडार में आते हैं।

4
Dean Harding 12 अप्रैल 2011, 22:20
ठीक है, मैं देख रहा हूँ कि तुम क्या कह रहे हो। मुझे लगता है कि यह छोटे काम करने के लिए नीचे आता है। अन्यथा, यदि मुझे आवश्यकता हो तो मैं --amend समाधान का उपयोग करूंगा। धन्यवाद!
 – 
JackCA
12 अप्रैल 2011, 23:12

यदि आपको कभी भी किसी बग को ट्रैक करने के लिए git bisect का उपयोग करने की आवश्यकता होती है, तो आपको छोटी-छोटी प्रतिबद्धताओं के लिए खुशी होगी।

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

2
Karl Bielefeldt 12 अप्रैल 2011, 22:54

आप एक इंटरेक्टिव रिबेस का उपयोग करके कई छोटे कमिट्स को सिंगल में स्क्वैश कर सकते हैं। विवरण के लिए देखें http://book.git-scm.com/4_interactive_rebasing.html और एक उदाहरण।

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

2
Holger Just 12 अप्रैल 2011, 23:20