मैं गिट के लिए नया हूं और मैं जानना चाहता हूं कि एक बहुत ही बुनियादी परिदृश्य से निपटने के लिए कैसे। मैंने गिट के बारे में स्टैक ओवरफ्लो पर इतनी सारी पोस्ट पढ़ी लेकिन अभी भी जवाब नहीं पता लगाया जा सकता है।मेरी देव गिट शाखा में मूल/मास्टर का ट्रैक कैसे रखें
हमारे पास एक मूल/मास्टर रिमोट शाखा है जो हर कोई काम कर रही है। मेरे पास एक सुविधा है जिसे मैं कार्यान्वित करना चाहता हूं और इसे विकसित करने में समय लग सकता है। इस बीच, लोग मूल/मास्टर को कोड में जांच कर रहे हैं।
क्या होगा की तरह मेरे कार्यप्रवाह देखो और कैसे मैं अपने Git शाखा की स्थापना, निम्नलिखित जरूरतों को देखते हुए के बारे में जाना चाहिए:
मैं अपने शाखा में कोड परिवर्तन के लिए प्रतिबद्ध है और उन्हें पुश करने के लिए सक्षम होना चाहते हैं हमारे सर्वर पर एक दूरस्थ शाखा में, इसलिए यदि मेरा कंप्यूटर तला हुआ गया है तो मैं परिवर्तनों को खो नहीं पाता हूं।
मैं अपनी शाखा को मास्टर शाखा के साथ अद्यतित रखना चाहता हूं।
मैं नियमित विलय को कम करना चाहता हूं। मुझे गिट रिबेस की अवधारणा पसंद है इसलिए मैं इसके उपयोग को अधिकतम करना चाहता हूं और इसलिए फास्ट-फॉरवर्ड विलय करता हूं।
किसी बिंदु पर हमें अपनी शाखा फ़ीचरए को मूल/मास्टर में विलय करना होगा।
सारांश:
मैं कैसे सेटअप एक शाखा है कि मूल/गुरु से खींचती है लेकिन मूल/मेरी-शाखा की धक्का करते हैं?
मेरा वर्कफ़्लो कैसा दिखता है?
अद्यतन:
धन्यवाद @ होगा-pragnell! आपके समाधान और निम्नलिखित के बीच क्या अंतर है।
GitHub पर इस पृष्ठ का सुझाव:
https://github.com/diaspora/diaspora/wiki/Git-Workflow
क्रम विकास ट्रंक से नवीनतम अद्यतन प्राप्त करने के लिए एक बार की स्थापना के कर दर्ज करके एक रिमोट के रूप में मुख्य GitHub रेपो स्थापित करने के लिए:
$ git remote add upstream git://github.com/diaspora/diaspora.git
$ git fetch upstream
$ git checkout master
$ git rebase upstream/master
$ git checkout 100-retweet-bugfix
[सभी शाखा में आवश्यक के रूप में के लिए प्रतिबद्ध है सुनिश्चित करें]
$ git rebase master
धन्यवाद @ will-Pragnell! मेरा प्रश्न निम्नलिखित के साथ अद्यतन किया गया है: आपके समाधान और निम्नलिखित के बीच क्या अंतर है। github पर यह पृष्ठ सुझाव देता है: https://github.com/diaspora/diaspora/wiki/Git-Workflow विकास ट्रंक से नवीनतम अपडेट प्राप्त करने के लिए मुख्य गिटहब रेपो स्थापित करने के लिए एक बार सेटअप करें दर्ज करके एक रिमोट के रूप में: $ Git दूरस्थ नदी के ऊपर Git जोड़ें: //github.com/diaspora/diaspora.git, $ Git लाने नदी के ऊपर, $ Git चेकआउट मास्टर, $ Git rebase नदी के ऊपर/मास्टर, $ Git चेकआउट 100-रीट्वीट-बग सुधार, [सुनिश्चित करें कि सभी शाखा में आवश्यक के रूप में के लिए प्रतिबद्ध है बनाना], $ Git मास्टर – ben39
rebase करने के बाद: 'Git चेकआउट मास्टर Git मर्ज myFeature Git पुश मूल मास्टर ' मुझे 'मिला है! [अस्वीकार] बहु प्रेषक -> बहु प्रेषक (गैर-फास्ट-फॉरवर्ड) त्रुटि: कुछ रेफ को 'ssh: // xxx' पर धक्का देने में विफल रहा, इतिहास को खोने से रोकने के लिए, गैर-तेज़-आगे अपडेट अस्वीकार कर दिए गए थे फिर से धक्का देने से पहले रिमोट चेंज (जैसे 'गिट पुल') मर्ज करें। विवरण के लिए 'गिट पुश --help' के 'फास्ट-फॉरवर्ड' अनुभाग के बारे में नोट देखें। – ben39
आपकी दूसरी टिप्पणी के संबंध में - क्या आपने विलय करने का प्रयास करने से पहले मास्टर पर रीबेस किया था? (थोड़ी देर बाद जब आपकी एक अतिरिक्त पल हो, तो थोड़ी देर बाद आपकी पहली टिप्पणी देखेंगे - क्षमा करें, यहां बहुत व्यस्त है!) –