मेरे पास एक स्थानीय शाखा है, हम पुल अनुरोधों के साथ गिट-फ्लो का उपयोग कर रहे हैं और मैं पीआर प्रतिक्रिया प्राप्त करने के बाद कुछ कामों को स्क्वैश करना चाहता हूं।मेरी गिट शाखा कैसे स्क्वैश करने के लिए एक ही शाखा में रिबेसिंग के बिना काम करता है?
मैं अपने सभी कामों (उदाहरण के लिए पीआर के उदाहरण से) को उसी शाखा में कैसे स्क्वैश कर सकता हूं?
मैं कल्पना यह की तरह कुछ होगा:
git checkout master # For master
git pull # Get all branches up-to-date
git checkout feature1 # Checkout the branch
git checkout -b feature1_squash # Make a copy of the branch
git branch -D feature1 # Delete original branch
git checkout master # (?) Branch off latest master for safety
git checkout -b feature1 # Make new (empty) original branch
git merge --squash feature1_squash # Merge with squash into it
git push -f feature1 # Push, force will be required
लेकिन मुझे यकीन नहीं कर रहा हूँ।
कई चरणों के साथ यह एक साथ काम करने के लिए एक अच्छा केस जैसा लगता है और इसे शाखा नाम को पैरामीटर के रूप में पास कर देता है। बेशक स्वचालित रूप से इसका मतलब यह होगा कि त्रुटियों, अपवादों, किनारे के मामलों, आदि को संभालना सुनिश्चित करना
मैं इंटरैक्टिव रिबेस का उपयोग नहीं करना चाहता क्योंकि यह ट्रेन करने वाले नए लोगों के लिए सही पाने के लिए थोड़ा मुश्किल है। मैं भी काम की संख्या जानना नहीं चाहता, मैं बस इस शाखा में मौजूद सभी को करना चाहता हूं।
मुझे समझ में नहीं आता कि आप क्या चाहते हैं। क्या आपके पास प्रत्येक पर विभिन्न प्रतिबद्धताओं के साथ कई शाखाएं हैं और आप उन्हें एक शाखा में एक प्रतिबद्धता में रखना चाहते हैं, जिससे विकास इतिहास खो रहा है? – houtanb
मेरे पास कई शाखाओं के साथ 1 शाखा ('सुविधा 1') है और मैं चाहता हूं कि 1 प्रतिबद्ध हो। –