2016-06-24 12 views
7

मुझे git pull --rebase और git rebase के बीच के अंतर को अन्य विकल्पों के बिना समझ में नहीं आता है।गिट पुल - रीबेस बनाम गिट रिबेस: खतरे क्या है?

मुझे समझ में नहीं आता कि वे सुरक्षित हैं, एक अच्छा अभ्यास है, या बहुत खतरनाक है।

क्या मैं स्थानीय में git pull --rebase कर कर प्रतिबद्धता को ऐतिहासिक कर सकता हूं?

+0

http://stackoverflow.com/questions/18930527/difference-between-git-pull-and-git-pull-rebase – ashishmohite

+0

'गिट रीबेस' पहले 'fetch' नहीं चलाता है। – choroba

उत्तर

7

मैं केवल निजी शाखाओं के लिए सभी को रिबेस करने की अनुशंसा नहीं करता हूं। निजी मेरा मतलब है कि शाखाएं हैं कि आप निश्चित रूप से केवल तभी खींचे हैं जिन्हें आपने खींच लिया है।

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

अपने प्रश्न के बारे में:

  • Git rebase शाखा आप चाहते हैं rebases।
  • गिट पुल --rebase आपके द्वारा खींचने वाली शाखाओं में एक fetch + rebase निष्पादित करता है। आम तौर पर एक पुल + मर्ज लाएगा।
+0

तो, एक गिट खींचें --rebase सुरक्षित है? – sab

+0

किस अर्थ में सुरक्षित है? एक rebase शुरुआती बिंदु बदलता है, एक या दूसरे के बीच का अंतर यह है कि गिट खींच --rebase एक बड़े पैमाने पर rebase करता है। मैं साझा शाखाओं में रीबेजिंग की अनुशंसा नहीं करता, इसलिए मैं गिट पुल --rebase की अनुशंसा नहीं करता। इसके बजाए एक साधारण गिट खींचें। – Luis

7

git pull --rebase, git fetch और फिर एक सादे git rebase के लिए एक आशुलिपि है तो फर्क सिर्फ इतना है कि आवेदन करने वाले केवल बाद से कोई नया प्रतिबद्ध लाने नहीं होगा अपने रिमोट, के शीर्ष पर अपने कोड रिबेसिंग के रूप में यह केवल होगा पहले ध्यान रखें कि आपके भंडार को पहले से ही क्या पता है।

संबंधित मुद्दे