ठीक है, मुझे लगा कि यह एक सरल परिदृष्य था, मैं क्या याद कर रहा हूँ?
मेरी एक 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
होना चाहिए --force
ful?
यह सुविधा शाखा, किसी भी अन्य devs साथ साझा नहीं है तो मैं कोई समस्या नहीं है वास्तविक बल धक्का के साथ, मैं किसी भी डेटा खोने के लिए नहीं जा रहा हूँ, प्रश्न अधिक वैचारिक है।