2012-04-15 18 views
8

जब मैं कुछ कोड पर काम कर रहा हूं, तो मुझे काफी बार (और यहां तक ​​कि यादृच्छिक रूप से) करना पसंद है, क्योंकि अगर मैं कहीं ऊपर स्क्रू करता हूं तो मैं हमेशा अपने परिवर्तनों को वापस ले सकता हूं।गिट: स्थानीय काम करता है

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

मैं अपने सभी स्थानीय कामों को धक्का देने से पहले "समेकित" कैसे करूं?

+3

उचित शब्द "कुचलने" है करता है। इससे आपको वह उत्तर ढूंढने में मदद करनी चाहिए जो आप खोज रहे हैं। –

+2

मैं 100% निश्चित नहीं हूं कि यह वही है जो आप कर रहे हैं, लेकिन ऐसा लगता है कि आप 'मास्टर' (या जो भी मुख्य शाखा आपके लिए है) पर विकसित हो सकती है। यदि यह हो रहा है, तो आपको शायद नीचे वर्णित रिबेसिंग दृष्टिकोणों की प्राथमिकता में ब्रांचिंग का उपयोग करना चाहिए। स्कॉट चेकॉन की पुस्तक यहां देखें: http://progit.org/book/ch3-4.html – msandiford

+0

^^ उसने क्या कहा। – oyalhi

उत्तर

4

छोड़ो आप रिबेस और जिन्हें आप न जरूरत कुचलने के आधार पर आपके प्रतिबद्ध जोड़ सकते हैं।

refere इस: http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html

+0

हम आम तौर पर केवल लिंक ही जवाब हटाते हैं। क्या आप कुछ संपादित कर सकते हैं [संपादित करें] और कुछ विवरण जोड़ सकते हैं? – Will

2

interactive rebase करें, जो आपको धक्का देने से पहले अपने दिल की सामग्री को फिर से व्यवस्थित करने, स्क्वैश करने और संपादित करने देगा।

2

git rebase -i

एक इंटरैक्टिव संपादक बाहर प्रेरित किया जाएगा।

बदलें सभी प्रतिबद्ध आप "स्क्वैश" को समेकित करना चाहते हैं

संपादक

+0

ध्यान दें कि आपको अंतिम प्रतिबद्धता _before_ की स्कीश आईडी भी निर्दिष्ट करना होगा जिसे आप स्क्वैश करना चाहते हैं: 'git rebase -i ' – mklement0