में रिमोट शाखाओं को रिहा करना मैं एक दूरस्थ एसवीएन भंडार दर्पण करने के लिए एक मध्यवर्ती गिट भंडार का उपयोग कर रहा हूं, जिससे लोग क्लोन कर सकते हैं और काम कर सकते हैं। इंटरमीडिएट रिपोजिटरी में अपस्ट्रीम एसवीएन से रात्रिभोज की मास्टर शाखा है, और हम फीचर शाखाओं पर काम कर रहे हैं। उदाहरण के लिए:गिट
remote:
master
local:
master
feature
मैं सफलतापूर्वक दूरस्थ करने के लिए वापस मेरी सुविधा शाखा धक्का कर सकते हैं और अंत मैं क्या उम्मीद:
remote:
master
feature
local:
master
feature
मैं तो फिर से सेटअप शाखा दूरस्थ ट्रैक करने के लिए:
remote:
master
feature
local:
master
feature -> origin/feature
और सब ठीक है। मैं यहां से क्या करना चाहता हूं, रिमोट पर मास्टर शाखा में फीचर शाखा को रीबेज करना है, लेकिन मैं इसे अपनी स्थानीय मशीन से करना चाहता हूं। मैं ऐसा करने में सक्षम होना चाहता हूं:
git checkout master
git pull
git checkout feature
git rebase master
git push origin feature
रिमोट मास्टर के साथ दूरस्थ सुविधा शाखा को अद्यतित रखने के लिए। हालांकि, इस विधि का कारण बनता है Git शिकायत करने के लिए:
To <remote>
! [rejected] feature -> feature (non-fast-forward)
error: failed to push some refs to '<remote>'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
git pull
काम कर देता है, लेकिन कारण बनता है किसी मर्ज के लिए प्रतिबद्ध है कि मैं से बचने के लिए चाहते हैं। मुझे चिंतित है कि संदेश feature -> origin/feature
के बजाय बताता है लेकिन यह केवल एक प्रेजेंटेशन चीज हो सकता है।
क्या मुझे कुछ याद आ रहा है, या इस बारे में पूरी तरह से गलत तरीके से जा रहा है? रिमोट सर्वर पर रिबेस करने से बचने के लिए यह महत्वपूर्ण नहीं है, लेकिन यह रीबेज से किसी भी मर्ज टकराव को बहुत कठिन बना देता है।
मुझे एक ही समस्या थी। मैं एक शाखा रिबेस मॉडल शुरू करना चाहता था ([इस तरह] (http://bit.ly/23T1I7f))। तब मैंने देखा कि मैंने गलती की है: ** यदि आप रीबेज करना चाहते हैं (मास्टर पर रीबेस करने से पहले आपको रिमोट फीचर में अपने बदलावों को धक्का नहीं देना चाहिए) ** तो आप अपनी सुविधा में कुछ कोड प्रतिबद्ध करते हैं। और अब आप इसे अपने रिमोट फीचर पर धक्का देना चाहते हैं। Bevor आप यह करते हैं: - आपको लाने की ज़रूरत है और आपको अपने मास्टर को खींचना चाहिए। - यदि मास्टर में आपके कुछ बदलाव नहीं हैं तो आपको मास्टर पर दोबारा बदलाव करना चाहिए। अब आप सुविधा को दबा सकते हैं और कोई समस्या नहीं होगी। – Markus