2010-01-21 14 views
8

मैं गिट का उपयोग कर रहा हूं और पिछले सप्ताह अपने स्थानीय भंडार पर भारी काम कर रहा हूं।गिट बड़े प्रतिबद्ध सर्वोत्तम प्रथाओं

मुझे बड़े लोगों की बजाय कई छोटी सी चीजें (जैसे 2 ओ 3 फाइलें) बनाना पसंद है, लेकिन इस बार समय के दबाव के बीच और परिवर्तन में कई फाइलें शामिल हैं, मुझे बहुत सारी फाइलें अनस्टेड हैं।

मेरा सवाल है, इस परिदृश्य में सबसे अच्छा अभ्यास क्या है? क्या कोई ऐसा उपकरण है जो मुझे काम को छोटे कामों में विभाजित करने देता है?

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

धन्यवाद!

उत्तर

9

git add -i मदद करनी चाहिए आप को विभाजित, मात्रा के लिए प्रतिबद्ध तो कोड की git stash बाकी है, जाँच लें कि सब कुछ काम करता है, git commit, git stash pop और पाश।

+0

यहां कुंजी 'गिट स्टैश' है; ओपी का कहना है कि वह पहले से ही जानता है कि काम कैसे विभाजित किया जाए, हालांकि ध्यान दें कि '-पी' ('--patch') अक्सर' -i' (' --interactive') से अधिक उपयोगी होता है। – Cascabel

+0

जेफ्रोमी, ओपी का कहना है कि वह जानता है कि एक समय में * फ़ाइलों को कैसे चरणबद्ध करना है *। –

+0

मुझे 'git add -i' का उपयोग करना पसंद है और फिर इंटरैक्टिव मेनू से' पी (पैच) 'का चयन करें ... इस तरह आप एक ही बार में विभिन्न फ़ाइलों के चुने हुए शिकारी मंच कर सकते हैं। फिर, प्रतिबद्ध होने से पहले 'गिट diff --cached' के साथ दोबारा जांचें। – grossvogel

2

आप git add --patch के साथ फ़ाइल का हिस्सा ले सकते हैं। यह आपको एक ही फाइल में होने वाले अन्य असंबंधित परिवर्तनों के बिना, संबंधित परिवर्तनों के सेट करने की अनुमति दे सकता है।

और यदि आप अपने सभी असामान्य काम को खोए बिना HEAD का परीक्षण करना चाहते हैं, तो git stash आपका मित्र है।

+1

यह भी ध्यान दें: गिट स्टैश -पी –

1

व्यक्तिगत रूप से, मुझे git add -i काम करने के लिए थोड़ा बोझिल लगता है क्योंकि मुझे यह देखना मुश्किल लगता है कि यह वास्तव में क्या कर रहा है।

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

संबंधित मुद्दे