Bitbucket में शाखाएं हटाएं


133

मैंने अपनी एक रिपॉजिटरी में बहुत सी शाखाएँ बनाई हैं। उन शाखाओं को परीक्षण के लिए है इससे पहले कि इसे मास्टर के पास खींच लिया जाएगा। अब मैं सूची में उनमें से बहुत से देख रहा हूं और वे हम फिर कभी इसका उपयोग नहीं करेंगे। उन शाखाओं को सीधे Bitbucket से कैसे हटाएं?

जवाबों:


224

यदि शाखाएँ केवल स्थानीय हैं, तो आप -d का उपयोग कर सकते हैं यदि शाखा को विलय कर दिया गया है, जैसे

git branch -d branch-name

यदि शाखा में वह कोड होता है जिसे आप मर्ज करने की योजना नहीं बनाते हैं, तो इसके बजाय -D का उपयोग करें ।

यदि शाखा अपस्ट्रीम रेपो (बिटबकेट पर) में है तो आप रिमोट रेफरेंस को हटा सकते हैं

git push origin :branch-name

इसके अलावा, यदि आप बिटबकैट वेबसाइट पर हैं, तो आप साइट पर कमिट्स के तहत फ़ीचर शाखाओं टैब पर जाकर अपनी शाखाएँ हटा सकते हैं । आपको एक दीर्घवृत्त आइकन मिलेगा। उस पर क्लिक करें, फिर हटाएँ शाखा चुनें । बस सुनिश्चित करें कि आप वहां सभी परिवर्तन छोड़ना चाहते हैं!

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


2
अगर मैं 'git ब्रांच -r' चलाता हूं, तो मैं देखता हूं कि BB सर्वर से ब्रांच को डिलीट नहीं कर रहा है। यह अब GUI में नहीं दिखा, लेकिन git सर्वर पर इसके शो।
जर्सी बीन

37

Bitbucket से शाखा हटाने के लिए,

  1. ओवरव्यू पर जाएं (आपकी रिपॉजिटरी> शाखाएं बाएं साइडबार में)
  2. शाखाओं की संख्या पर क्लिक करें (जो आपको शाखाओं की सूची दिखाना चाहिए)
  3. उस शाखा पर क्लिक करें जिसे आप हटाना चाहते हैं
  4. शीर्ष दाएं कोने पर, 3 डॉट्स (मर्ज बटन के अलावा) पर क्लिक करें।
  5. अधिकार होने पर "डिलीट ब्रांच" का विकल्प होता है।

1
'ओवरव्यू ’कहां है? अगर आप सोर्स का मतलब है, तो मुझे कोई 'डिलीट ब्रांच' का ऑप्शन दिखाई देता है ...
niico

7
चरण 1 को "अपने रेपो पर जाएं और बाएं साइडबार में 'शाखाएं' क्लिक करें।"
नौमेनन


8

में Bitbucket बाएं हाथ की ओर मेनू में शाखाओं में जाते हैं।

  1. अपनी शाखा चुनें जिसे आप हटाना चाहते हैं।
  2. एक्शन कॉलम पर जाएं, तीन डॉट्स (...) पर क्लिक करें और डिलीट को चुनें।

7

मैं अपनी अधिकांश शाखाएँ हटा सकता था, लेकिन एक व्यक्ति ऐसा दिखता था और मैं इसे नहीं हटा सकता था:

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

पता चला कि किसी ने अनियंत्रित होकर वहां से Branch permissionsनीचे सेट किया था । आशा है कि यह किसी की मदद कर सकता है।SettingsAllow deleting this branch

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

अद्यतन : जहां सेटिंग्स टिप्पणी में सवाल से स्थित हैं। मेनू प्राप्त करने के लिए जिस रिपॉजिटरी को आप संपादित नहीं करना चाहते हैं, उसे दर्ज करें। इसे बदलने के लिए आपको व्यवस्थापक विशेषाधिकारों की आवश्यकता हो सकती है।

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


"सेटिंग्स" कहां मिल सकती है? मुझे मुख्य शाखा या उसमें मौजूद सभी फाइलों को हटाना होगा। मैं यह कैसे करुं?

3

चरण 1: Bitbucket में लॉगिन करें

चरण 2: रिपॉजिटरी सूची में अपना रिपॉजिटरी चुनें। यहाँ छवि विवरण दर्ज करें

चरण 3: बाईं ओर के मेनू में शाखाओं का चयन करें। यहाँ छवि विवरण दर्ज करें

चरण 4: शाखा पर कर्सर बिंदु तीन बिंदुओं पर क्लिक करें (...) हटाएं चुनें (Bellow छवि में देखें) यहाँ छवि विवरण दर्ज करें


2

यदि आप विकास के लिए एक pycharm आईडीई का उपयोग कर रहे हैं और आप पहले ही इसके साथ Git जोड़ चुके हैं। आप सीधे pycharm से दूरस्थ शाखा को हटा सकते हैं। टूलबार VCS से -> गिट -> शाखाएँ -> शाखा का चयन करें -> और हटाएं । यह दूरस्थ गिट सर्वर से इसे हटा देगा।


2

मैंने यह छोटी स्क्रिप्ट लिखी है जब मेरे रेपो में शाखाओं की संख्या कई सैकड़ों से अधिक हो गई है। मुझे अन्य तरीकों के बारे में नहीं पता था (सीएलआई के साथ) इसलिए मैंने इसे सेलेनियम के साथ स्वचालित करने का फैसला किया। यह बस Bitbucket वेबसाइट को खोलता है, शाखाओं में जाता है, पृष्ठ को अंत तक स्क्रॉल करता है और प्रत्येक शाखा विकल्प मेनू पर क्लिक करता है -> क्लिक डिलीट बटन -> क्लिक हां। यह अंतिम एन (100 - डिफ़ॉल्ट) शाखाओं को रखने और विशिष्ट नामों (मास्टर, विकसित - डिफ़ॉल्ट, अधिक हो सकता है) के साथ शाखाओं को छोड़ने के लिए ट्यून किया जा सकता है। यदि यह आपके लिए फिट बैठता है, तो आप इस तरह से कोशिश कर सकते हैं।

https://github.com/globad/remove-old-branches

आपको बस रिपॉजिटरी को क्लोन करना है, क्रोम-वेबड्राइवर के उचित संस्करण को डाउनलोड करना है, URL जैसे कुछ स्थिरांक को अपने रिपॉजिटरी में इनपुट करना और स्क्रिप्ट चलाना है।

कोड समझने में काफी सरल है। यदि आपके कोई प्रश्न हैं, तो टिप्पणी लिखें / एक मुद्दा बनाएं।


1

इस कमांड का प्रयास करें, यह उन सभी शाखाओं को शुद्ध कर देगा जिन्हें developशाखा में विलय कर दिया गया है ।

for i in `git branch -r --merged origin/develop| grep origin | grep -v '>' \
   | grep -v master | grep -v develop | sed -E "s|^ *origin/||g"`; \
do \
   git push origin $i --delete; \
done

0

में एंड्रॉयड स्टूडियो , आईडीई के दाएं कोने नीचे विकल्प:

  • अन्य स्थानीय शाखा बदलें / चेकआउट करें
  • अवांछित स्थानीय शाखाएँ हटाएँ (अर्थात v0.0.1 ...)
  • अवांछित दूरस्थ शाखाओं (जैसे मूल / v0.0.1 ...) को हटाएं - यदि शाखाओं को हटाए जाने से रोका नहीं जाता है और वे मुख्य शाखा नहीं हैं, तो यह कदम BitBucket में शाखाओं को हटा देगा ।

0

यदि आपको मज़ा पसंद है, तो आप बस शाखाओं के लिस्टिंग पृष्ठ पर जा सकते हैं (उदाहरण के लिए विलय) और बस जावास्क्रिप्ट कंसोल में चलाएं:

document.querySelectorAll('tr td div a:first-child').forEach(function(item) { fetch('https://bitbucket.org/snippets/new?owner=<yourprofilenick>', {'credentials': 'same-origin'}).then((response) => {return response.text()}).then(function(string) { return /'csrfmiddlewaretoken' value='(.*)'/g.exec(string)[1] }).then(function(csrf) { if (!~item.innerText.indexOf('/')) return; 
 fetch(`https://bitbucket.org/!api/2.0/repositories/<your_organization_path>/refs/branches/${item.innerText}`, {headers: {"x-csrftoken": csrf}, credentials: "same-origin", method: 'DELETE'}).then(() => console.log(`${item.innerText} DELETED!`)) }) })

पहले से ही भागो

  • <yourprofilenick>अपने BitBucket निक के साथ बदलें
  • <your_organization_path>अपने संगठन पथ के साथ बदलें

यह काम किस प्रकार करता है

पहले हमें पृष्ठ स्रोत में CSRF टोकन के साथ पृष्ठ की आवश्यकता है, इसलिए मैं चुनता हूं:

https://bitbucket.org/snippets/new?owner=<yourprofilenick>

फिर प्रत्येक शाखा के लिए (एक शाखा लिस्टिंग में) यह CSRF टोकन प्राप्त करता है और उस शाखा को हटा देता है।

सावधान

रेपो सेटिंग में हटाने से पहले संवेदनशील शाखाओं को रोकने के लिए रिमाइबर।

यह मुख्य शाखा को नष्ट नहीं करता है।

अतिरिक्त जानकारी

आपको लॉग इन करना होगा।

यह केवल उस पृष्ठ पर दिखाई देने वाली शाखाओं को हटाता है (इसलिए बाकी शाखाओं को हटाने के लिए आपको अगले पृष्ठ पर जाना होगा)।

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