2011-03-02 7 views
22

मैं इस व्यवहार के बारे में उत्सुक हूं और शायद यह इसलिए क्योंकि मैं ज्यादातर एसवीएन और बाजार का उपयोग करने से आया हूं। (मैं उत्कृष्ट GitHub के साथ इंटरफेस करने Git सीख रहा हूँ।)डिफ़ॉल्ट रूप से विलय के बाद गिट प्रतिबद्ध क्यों होता है?

यह मेरे लिए काउंटर सहज ज्ञान युक्त लगता है और जैसे कि यह

git merge [branch] --no-commit

के लिए बेहतर लोगों बनाने के लिए प्रोत्साहित करने के लिए डिफ़ॉल्ट होना होगा सुनिश्चित करें कि मर्ज उस तरीके से चला गया जिस तरह से वे इसे करने से पहले चाहते थे।

+2

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

उत्तर

25

गिट बनाने के दौरान लिनस टोरवाल्ड्स द्वारा निर्धारित लक्ष्य सभी विलय को स्वचालित रूप से हल किया जा सकता था ... तेजी से। उसका 2007 Google Tech Talk: Linus Torvalds on Git (transcript)
आईई देखें। सैकड़ों विलय कुछ सेकंड से भी कम समय में।

तो डिफ़ॉल्ट रूप से "--no-commit" उस उद्देश्य को काफी हद तक हार जाएगा।

--no-commit के साथ मर्ज लेकिन मर्ज विफल और autocommit नहीं है नाटक, उपयोगकर्ता का निरीक्षण किया और आगे करने से पहले मर्ज परिणाम tweak करने के लिए एक मौका देने के लिए।

Linus's talk (video) से

निकालें:

केवल बात यह है कि मायने रखती है कि आप कितनी तेजी से विलय कर सकते हैं है।
गिट में, आप विलय कर सकते हैं ... मैं दिन में कई बार 22,000 फाइलों को विलय करता हूं, और यदि विलय 5 सेकंड से अधिक समय लेता है, तो मैं नाखुश हो जाता हूं, और उन सभी 5 सेकंड बस सभी diffs डाउनलोड कर रहा है, ठीक है diff लेकिन इसके दो पेड़ों के बीच डेल्टा, विलय स्वयं आधे सेकेंड से भी कम लेता है।
और मुझे इसके बारे में सोचना नहीं है।
[...] यह ऐसा प्रदर्शन है जो वास्तव में बदलता है कि आप कैसे काम करते हैं।

+0

आह ठीक है तो मूल रूप से अनुमान यह है कि यदि आप अपनी इच्छाओं को विलय कर रहे हैं और आप जितनी जल्दी हो सके इसे प्राप्त करना चाहते हैं? – Will

+2

@Will: हाँ, लेकिन अन्य वर्कफ़्लो को न भूलें: इसे विलय करने से पहले अपने काम को दोबारा दोहराएं (जिसके परिणामस्वरूप फास्ट फॉरवर्ड विलय हो जाएगा: http://stackoverflow.com/questions/804115/git-rebase-vs -git-merge/804178 # 804178) – VonC

+0

इस उत्तर में आपके द्वारा संदर्भित बातचीत से वीडियो http://www.youtube.com/watch?v=4XpnKHJAok8&feature=player_detailpage#t=3118s – Will

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