ठीक है, मुझे लगा कि यह एक सरल परिदृष्य था, मैं क्या याद कर रहा हूँ?
मेरी एक masterशाखा और एक featureशाखा है। मैं कुछ पर काम करता हूं master, कुछ पर featureऔर फिर कुछ पर master। मैं कुछ इस तरह से समाप्त करता हूं (लेक्सिकोग्राफिक ऑर्डर का अर्थ है कमिट्स का क्रम):
A--B--C------F--G (master)
\
D--E (feature)
मुझे अपने काम के लिए रिमोट बैकअप बनाए रखने के लिए न git push origin masterतो रिमोट को masterअपडेट रखने की कोई समस्या है , न ही git push origin feature(जब ( feature)) feature। अब तक, हम अच्छे हैं।
लेकिन अब मैं मास्टर पर कमिट्स के featureशीर्ष पर फिर से बनना चाहता हूं F--G, इसलिए मैं git checkout featureऔर git rebase master। फिर भी अच्छा। अब हमारे पास है:
A--B--C------F--G (master)
\
D'--E' (feature)
समस्या: पल बैकअप के लिए मैं चाहता हूँ नया रिबेस featureसाथ branched git push origin feature, धक्का अस्वीकार कर दिया है के बाद से पेड़ रिबेसिंग की वजह से बदल गया है। यह केवल के साथ हल किया जा सकता है git push --force origin feature।
मुझे --forceयकीन है कि मुझे इसकी आवश्यकता के बिना उपयोग करने से नफरत है। तो, क्या मुझे इसकी आवश्यकता है? रिबेसिंग है जरूरी मतलब है कि अगले pushहोना चाहिए --forceful?
यह सुविधा शाखा, किसी भी अन्य devs साथ साझा नहीं है तो मैं कोई समस्या नहीं है वास्तविक बल धक्का के साथ, मैं किसी भी डेटा खोने के लिए नहीं जा रहा हूँ, प्रश्न अधिक वैचारिक है।