मैं Git में मूल / मास्टर को कैसे हटाऊं


10

मैं origin/masterअपने सर्वर से नहीं निकाल सकता । पता नहीं क्यों।

मेरे टर्मिनल का स्क्रीनशॉट

त्रुटि संदेश निम्न है

remote: error: By default, deleting the current branch is denied, because the next
remote: error: 'git clone' won't result in any file checked out, causing confusion.
remote: error: 
remote: error: You can set 'receive.denyDeleteCurrent' configuration variable to
remote: error: 'warn' or 'ignore' in the remote repository to allow deleting the
remote: error: current branch, with or without a warning message.
remote: error: 
remote: error: To squelch this message, you can set it to 'refuse'.
remote: error: refusing to delete the current branch: refs/heads/master
To acanzian@elab.ecn.purdue.edu:/export/home/a/elabshare/git/ID-check.git
 ! [remote rejected] master (deletion of the current branch prohibited)
error: failed to push some refs to 'acanzian@elab.ecn.purdue.edu:/export/home/a/elabshare/git/ID-check.git'

नहीं, मैं Github का उपयोग नहीं कर रहा हूं ।


1
आप ऐसा क्यों करना चाहते हो? क्या अन्य शाखाएँ हैं?
डैनियल बी

वास्तव में अन्य शाखाएं हैं (छवि के लिंक की जांच करें, वास्तव में, क्या आप इसे मेरे लिए प्रदर्शित कर सकते हैं, कृपया?)। हमें विद्रोह करना पड़ा master, और हमने इसे एक अस्थायी शाखा पर किया, जिसे अब बन जाना चाहिए master। एकमात्र समस्या यह है कि मुझे नहीं पता कि मैं सर्वर पर मास्टर को क्यों नहीं मार सकता।
Atcold

2
हो सकता है कि आप जिस उत्तर की तलाश कर रहे हों, लेकिन आप पुराने को नए के साथ प्रभावी रूप से बदलने के masterलिए origin/master, बगावत को बलपूर्वक धक्का दे सकें ।
थोड़ा सा

त्रुटि संदेश के अतिरिक्त, कृपया वह कमांड पोस्ट करें जिसका आप उपयोग कर रहे हैं।
क्यरालैसा

@Kyralessa, स्क्रीनशॉट चेक करें।
Atcold

जवाबों:


7

मजेदार तथ्य: यहां तक ​​कि दूरस्थ रिपॉजिटरी एक शाखा पर हैं। आप अस्वीकार कर रहे हैं क्योंकि आप उस शाखा को हटाने की कोशिश कर रहे हैं जिसे आपके मूल ने वर्तमान में "चेक आउट" किया है।

यदि आपके पास रेपो तक सीधी पहुंच है, तो आप केवल एक शेल नंगे रिपोर निर्देशिका खोल सकते हैं और git branchयह देखने के लिए पुराने का उपयोग कर सकते हैं कि वर्तमान में क्या शाखा है। इसे दूसरी शाखा में बदलने के लिए, आपको उपयोग करना होगा git symbolic-ref HEAD refs/heads/another-branch

यदि आप Github या Gitorious जैसी सेवा का उपयोग कर रहे हैं, तो आप UI का उपयोग करने वाले हैं जो आपको बदलाव करने के लिए टूल प्रदान करता है ( इस उत्तर को आम टूल में कैसे करें) देखें।


बहुत बढ़िया, इसने काम किया और इसने मुझे Git के बारे refsमें और जानने का मौका दिया ! आपका बहुत बहुत धन्यवाद! (हाँ, मैं कैसे पर इससे निपटने के लिए के बारे में पता Github हमारे व्यक्तिगत सर्वर पर नहीं है, लेकिन।)
Atcold

12

सर्वर से वास्तव में मास्टर को हटाने के बदले में, आप इसे इस तरह से बदल सकते हैं:

git push origin otherbranch:master -f

यह मास्टरबर्ड की सामग्री के साथ अन्य की जगह लेगा, लेकिन इसे अभी भी रिमोट पर मास्टर कहा जाएगा। और फिर आप अपने स्थानीय में मास्टर के रूप में जांच कर सकते हैं।


ठीक है धन्यवाद! मुझे पता है कि मैं सामान को मजबूर कर सकता हूं, लेकिन मैं सोच रहा था कि मैं masterशाखा को क्यों नहीं हटा सकता , और स्वीकृत उत्तर बताता है कि क्यों।
Atcold

1
+1। यह एकमात्र तरीका था जिससे मैं रिमोट / ओरिजिन / मास्टर पर एक खराब पहला कमिट डिलीट कर सकता था।
ctn
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.