क्याक्या मैं "गिट स्टैश गिट पुल गिट स्टैश पॉप" के बजाय गिट पुल --rebase का उपयोग कर सकता हूं?
git pull --rebase
और
git stash
git pull
git stash pop
क्याक्या मैं "गिट स्टैश गिट पुल गिट स्टैश पॉप" के बजाय गिट पुल --rebase का उपयोग कर सकता हूं?
git pull --rebase
और
git stash
git pull
git stash pop
Git पुल के बीच अंतर है: आप वास्तव में Git लाने + Git आदेशों, जो एक अतिरिक्त के साथ परिणाम होगा विलय आपके लिए प्रतिबद्ध लॉग में प्रतिबद्ध और बदसूरत मर्ज बुलबुले जारी करने ।
गिट पुल - रेबेस: रिपोजिटरी को साफ रखने के लिए, जब तक आप उन्हें रिमोट सर्वर पर नहीं दबाते तब तक आप पेड़ के शीर्ष पर हमेशा काम करते हैं। आदेश रिमोट पेड़ के शीर्ष पर आपके सभी अभी तक चलने वाले कामों को लागू करेगा, जो आपकी गतिविधियों को सीधे पंक्ति में और बिना शाखाओं के
मैं सुझाव दूंगा कि आप एक प्रयोगात्मक रेपो बनाएं और कमांड को आज़माएं । अपने आप से प्रयोग करना सीखना आसान बनाता है।
आप देखेंगे कि आदेश अनुक्रम git stash; git pull; git stash pop
स्थानांतरित हो जाएगा मास्टर शाखा के अद्यतन सिर में परिवर्तन। (यह भी डिफ़ॉल्ट gitconfig संभालने एक सामान्य मर्ज करना होगा, ताकि प्रतिबद्ध परिवर्तन विलय हो जाएगा, रिबेस नहीं,)
हालांकि, git pull -rebase
परिवर्तन जो है पहले से ही मास्टर शाखा के अद्यतन करने के लिए सिर किया गया पर आ जाएगा। यदि आप एक गंदे काम के पेड़ के साथ इस आदेश चलाने की कोशिश करें, तो आप त्रुटि संदेश दिखाई देगा: इस विषय में अपने प्रश्न का
Cannot pull with rebase: You have unstaged changes.
Please commit or stash them.
सरल जवाब है "नहीं"।
git pull --rebase
और git pull
के बीच अंतर है, कि पहले एक fetch
+ rebase
करता है, दूसरा एक fetch
+ merge
, को छोड़कर आप एक गैर डिफ़ॉल्ट Git config कि git pull
बताता है किसी मर्ज के बजाय एक rebase
क्या करना है। उस स्थिति में दो आदेश समान होंगे।
उन दो आदेशों के बीच अंतर किसी भी तरह से छेड़छाड़ करने और अनचाहे परिवर्तनों को अनस्टैश करने की आवश्यकता को प्रभावित नहीं करता है। दोनों को इसकी आवश्यकता है यदि आपके पास गंदी वर्कट्री है या वे आपके परिवर्तनों को प्रतिबद्ध करने या छेड़छाड़ करने के बारे में बताएंगे।