गीथब पर आसानी से कई रिपॉजिट कैसे अनचेक करें?


81

मुझे पता है कि मैं GitHub में बहुत सारे रिपॉज देखता हूं और उनमें से कई को अनचेक करने का एकमात्र तरीका github.com/my_user_name/following है, उनमें से प्रत्येक के अंदर हो रहा है और अनवाच बटन दबा रहा है।

क्या उन्हें तेजी से और आसानी से अनचेक करने का कोई तरीका नहीं है?


5
अब github.com/watching पर "Unwatch all" बटन है ।
जेरमिया

जवाबों:


161

आलसी के लिए, कोई भी इस url पर एपीआई के बिना बहुत जल्दी कर सकता है: https://github.com/watching

एक साफ सरल सूची, क्लिक करें क्लिक करें पर क्लिक करें।

इसके अतिरिक्त, एक बॉक्स है जो सुनहरा है। इसे अनचेक करें सभी रिपोज को देखने के लिए स्वचालित रूप से सेट नहीं किया जाना चाहिए जिसे आपने पुश एक्सेस दिया है। शोर अनुपात के लिए संकेत के प्रबंधन के लिए हुर्रे।


9
अब "सभी रिपॉजिटरी देखना बंद करो" बटन भी है!
फ्रांसेक रोज़ा

4
इस तरह के बटन के बिना भी, आप बस डेवलपर कंसोल खोल सकते हैं और एक त्वरित कर सकते हैं $('button').filter(function(){return $(this).text() === 'Unwatch'}).click()। वेब पेज + jQuery = सबसे अच्छा एपीआई!
पैट्रिक ऑस्सिटी

4
धन्यवाद, @ p11y, महान विचार। खाता फ़िल्टरिंग के साथ यहां एक बेहतर संस्करण है (यदि आप केवल कुछ संगठन के $('button').filter(function(){return $(this).text() === 'Unwatch' && $(this).parent().parent().find("a span").html() == "organisationName" }).click();
रिपोज़

@ मतेज: क्या आप इसे एक जवाब के रूप में पोस्ट करना चाहेंगे? यह एक बुकमार्कलेट के रूप में भी बहुत अच्छा काम करता है, जो उस समय मदद करता है जब ऑर्ग विशाल होता है और एक ही पृष्ठ पर फिट होने से अधिक रिपोज होता है!
मारियस गेदमिनस

1
यदि आपके पास देखे गए रिपोज के कई पृष्ठ हैं, तो क्या "अनचेक ऑल " बटन सभी रिपोज या मौजूदा पेजों के लोगों को अनचेक करता है ?
डेनिस

16

पिछले जवाब के देशी जेएस संस्करण । Https://github.com/watching पर नेविगेट करें और फिर चलाएं:

एक लाइन:

Array.prototype.slice.apply(document.querySelectorAll('.js-subscription-row')).forEach(el => { const org = el.querySelector('a[href^="/YOUR_ORG"]'); if (org) el.querySelector('button').click()})

अनवांटेड:

const org = 'YOUR_ORG'
const query = document.querySelectorAll('.js-subscription-row')
const rows = Array.prototype.slice.apply(query)
rows.forEach(function (el) {
  const org = el.querySelector('a[href^="/' + org + '"]')
  if (org) el.querySelector('button').click()
})

1
अलिखित संस्करण लगातार orgएक से अधिक बार परिभाषित करने के लिए एक त्रुटि फेंकता है । यह मेरे लिए काम करता है: const orgName = 'your_ORG' const query = document.querySelectorAll ('। Js-अंशदान-पंक्ति') const row = Array.prototype.slice.apply (क्वेरी) - पंक्तियाँ (फ़ंक्शन (el) {let org = el.querySelector ('a [href ^ = "/' orgName + '" "]) अगर (org) el.querySelector (' बटन ')। क्लिक करें ()})
जॉन जॉन

चयनकर्ता बदल गए हैं, वर्तमान में क्या काम करता हैArray.prototype.slice.apply(document.querySelectorAll('.Box-row')).forEach(el => { const org = el.querySelector('a[href^="/alphagov"]'); if (org) el.querySelector('button').click()})
nacnudus

Github ने इस पृष्ठ को अपडेट किया है। उपरोक्त कोड के लिए एक अपडेट यह एक है जिसे मैंने अभी उपयोग किया है: Array.from(document.querySelectorAll('.repo-list > li')).filter(el => !!el.querySelector('a[href^="/YOUR-ORG"]')).forEach(el => el.querySelector('details-menu button[value="included"]').click())बस पृष्ठ को ताज़ा करें और इसे फिर से चलाएं जब तक कि यह सब पूरा न हो जाए।
J_A_X

10

संगठन विशिष्ट

यदि आप किसी एकल संगठन से रिपॉजिट करना चाहते हैं, तो आप इसका उपयोग https://github.com/watching से कर सकते हैं

$('.js-subscription-row').each(function(){ var isYourOrganisation = $(this).find("a[href^='/YOUR_ORG']"); if(isYourOrganisation.length){ $(this).find('button:contains("Unwatch")').click(); } });

YOUR_ORGआपके संगठन को जो भी कहा जाता है, उसके साथ प्रतिस्थापित करें।



1

मैंने कोई भी देखा नहीं है, लेकिन जैसा कि हमारे पास पूरे ब्रह्मांड की शक्ति है (संक्षेप में हम डेवलपर्स हैं)। उनके डेवलपर API का उपयोग करें और एक छोटा टूल बनाएं। एपीआई बहुत वर्णनात्मक है,

http://developer.github.com/


0

मैंने एक कमांड-लाइन टूल भी पाया है जो कई रिपॉजिटरी को अनचेक करने के लिए GitHub API का उपयोग करता है: https://www.npmjs.com/package/github-unwatch-org-repos

मैं कमांड-लाइन टूल्स का प्रशंसक नहीं हूं, जो कमांड लाइन पर सादे पाठ में मेरा पासवर्ड चाहते हैं (इस प्रकार सभी सिस्टम उपयोगकर्ता जो सही समय पर 'ps' चलाते हैं, और ~ / .bash_history में सादे पाठ में भी संग्रहीत हैं। जब तक आप उससे बचने के लिए अत्यधिक सावधानी नहीं बरतते), तो मैंने इसकी कोशिश नहीं की।


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