githubで複数のリポジトリを簡単に監視解除する方法は?


81

GitHubであまりにも多くのリポジトリを監視していることに気付きました。それらの多くを監視解除する唯一の方法は、github.com / my_user_name / followにアクセスし、それぞれの内部に入り、[監視解除]ボタンを押すことです。

それらをより速くそして簡単に見ないようにする方法はありませんか?


5
現在、github.com / watchingに「Unwatchall」ボタンがあります。
ジェレミア2018

回答:


161

怠け者の場合、次のURLでAPIなしでこれをかなり迅速に行うことができます:https//github.com/watching

きれいなシンプルなリスト、クリッククリッククリッククリック。

さらに、金色の箱があります。チェックを外すと、プッシュアクセスが許可されているすべてのリポジトリを監視するように自動的に設定されません。信号対雑音比を管理するためのやったー。


9
「すべてのリポジトリの監視を停止する」ボタンもあります。
Francesc Rosas 2014

4
このようなボタンがなくても、開発者コンソールを開いてすばやく実行でき$('button').filter(function(){return $(this).text() === 'Unwatch'}).click()ます。Webページ+ jQuery =最高のAPI!
Patrick Oscity 2014年

4
ありがとう、@ p11y、素晴らしいアイデア。(あなただけの特定の組織のレポをフィルタリングしたい場合)ここでアカウントのフィルタリングを有する改良されたバージョンがある$('button').filter(function(){return $(this).text() === 'Unwatch' && $(this).parent().parent().find("a span").html() == "organisationName" }).click();
マテイBalantič

@Matej:これを回答として投稿していただけませんか?また、ブックマークレットとしても機能します。これは、組織が巨大で、単一のページに収まるよりも多くのリポジトリがある場合に役立ちます。
Marius Gedminas 2015

1
監視対象のリポジトリが複数ページある場合、[すべて監視解除]ボタンはすべてのリポジトリの監視を解除しますか、それとも現在のページのリポジトリのみを監視解除しますか?
デニス

16

以前の回答のネイティブJSバージョン。移動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-subscription-row')const rows = Array.prototype.slice.apply(query)rows.forEach(function(el){let org = el.querySelector( 'a [href ^ = "/' + orgName + '"]')if(org)el.querySelector( 'button')。click()})
Jon Dean

セレクタは、どのような現在の作品があり、変更されている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を使用して、小さなツールを作成します。APIは非常にわかりやすく、

http://developer.github.com/


0

また、GitHub APIを使用して複数のリポジトリの監視を解除するコマンドラインツールも見つけました:https://www.npmjs.com/package/github-unwatch-org-repos

私はコマンドラインでパスワードをプレーンテキストで表示したいコマンドラインツールのファンではありません(したがって、適切なタイミングで「ps」を実行するすべてのシステムユーザーに表示され、〜/ .bash_historyにプレーンテキストで保存されますあなたがそれを避けるために細心の注意を払わない限り)、それで私はそれを試していません。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.