git rebase sourcetree का उपयोग करते हुए


83

मुझे लगता है कि मैं गीट रिबेस करने के लिए सोर्सट्री जीयूआई का उपयोग करने के बारे में उलझन में हूं। मेरी दो शाखाएँ हैं "गुरु" और "देव"। जैसा कि देखा गया है, दोनों शाखा ने विचलन किया। मैं कमांड लाइन का उपयोग करके "देव" शाखा पर एक रिबास करना चाहता हूं, यह होगा:

git checkout dev
git rebase master

यहाँ छवि विवरण दर्ज करें

मुझे "देव" पर राइट क्लिक करने की उम्मीद होगी, और "देव पर वर्तमान परिवर्तन को फिर से चुनें"। मुझे लगता है कि वर्तमान परिवर्तन का अर्थ है "मास्टर पर नए कमिट्स"। लेकिन इस विकल्प को चुनने से कोई प्रभाव नहीं पड़ता है। सही कदम क्या होगा?

जवाबों:


119

लेकिन इस विकल्प को चुनने से कोई प्रभाव नहीं पड़ता है।

हां, क्योंकि वर्तमान परिवर्तन वर्तमान शाखाओं में से एक है, जो है dev

devशीर्ष पर रिबासिंग का devमतलब है नो-ऑप।

git checkout dev
git rebase master

इसका मतलब है कि: वर्तमान शाखा है dev: के शीर्ष पर छूट दी जानी है master

तो SourceTree में, आपको राइट-क्लिक करना होगा master(जब devचेक आउट हो जाए), और चुनें:

Rebase current changes onto master

होवे टिप्पणी में जोड़ता है :

" rebase current changes onto [branch]" का वर्तमान नाम भ्रामक है। इस सुधार चर्चा कीSRCTREE-1578 जाँच करें ।

विकास और असफलता के साथ एक फीचर शाखा लाने का प्रयास करने के बाद खुद को चकित करने के बाद, मुझे एहसास हुआ है कि बाएं फलक संदर्भ मेनू आइटम को लेबल किया गया है " rebase current changes onto $somebranch" वास्तव में इसके नाम के विपरीत क्या करता है:
यह वर्तमान शाखा को विद्रोह करता है $ somebranch की स्थिति;
दूसरे शब्दों में, यह $somebranchवर्तमान शाखा पर (या अंदर), अन्य तरीके से नहीं बल्कि चारों ओर से विद्रोह करता है। (सही?)

ontoवर्तमान पाठ में "प्रस्ताव" भ्रामक है; तात्पर्य यह है कि वाक्य की वस्तु ( $somebranchमेरे उदाहरण में) परिवर्तन प्राप्त करेगी।
वास्तव में, यह विपरीत है जो घटित होगा।
वर्तमान शाखा के नाम की अनुपस्थिति भ्रम में जोड़ती है।

वाक्य संरचना को सुधारने और प्रभावित शाखा का नाम शामिल करने के लिए स्पष्टता के लिए एक बड़ी जीत होगी।
उदाहरण के लिए:

rebase $currentbranch to head of $somebranch
rebase $somebranch onto $currentbranch

13
संदर्भ के लिए, downvote से है डेडमैन जो पोस्ट पहले एक जवाब बिल्कुल SourceTree को संबोधित कर के बिना। मैंने टिप्पणी में अपनी आलोचनाओं को नकारा और समझाया। जाहिर तौर पर, डेडमैन ने मेरे द्वारा की गई रचनात्मक टिप्पणियों की सराहना नहीं की।
VonC

1
क्या यह मास्टर शाखा को बदल देगा? मैं अपनी शाखा को मास्टर शाखा के नवीनतम परिवर्तनों के साथ अद्यतन करना चाहूँगा - और बाद में अपनी देव शाखा को गुरु में विलय करूँगा। क्या वर्णित तरीका इस कार्य को करेगा?
गेरफ्रीड

2
@Gerfried सहमत हुए। जब तक देव को धक्का नहीं दिया गया, तब तक आप गुरु के शीर्ष पर पुन: प्रवेश कर सकते हैं।
वॉन

14
सॉर्सेट्री को बेहतर स्पष्टीकरण के लिए शब्द "मास्टर से देव में नवीनतम परिवर्तन" को बदलना चाहिए।
तिमो

4
"शाखा" पर "वर्तमान परिवर्तनों को फिर से शुरू करने" का वर्तमान नामकरण भ्रामक है। इस सुधार चर्चा की जाँच करें: jira.atlassian.com/browse/SRCTREE-1578
ज़िओ झाओ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.