Làm thế nào để mở nhiều repo dễ dàng trên github?


81

Tôi nhận ra rằng mình đã xem quá nhiều repo trong GitHub và cách duy nhất mà tôi tìm thấy để bỏ xem nhiều repos trong số đó là truy cập github.com/my_user_name/following, vào bên trong từng repo và nhấn nút Unwatch.

Không có cách nào để mở khóa nhanh hơn và dễ dàng hơn?


5
Hiện có nút "Mở tất cả" tại github.com/watching .
Geremia

Câu trả lời:


161

Đối với những người lười biếng, người ta có thể thực hiện việc này mà không cần API một cách nhanh chóng tại url này: https://github.com/watching

Một danh sách đơn giản sạch sẽ, bấm vào bấm bấm bấm.

Ngoài ra, có một hộp màu vàng. Bỏ chọn nó để không tự động được đặt để xem tất cả các repo mà bạn được cấp quyền truy cập đẩy. Hoan hô vì đã quản lý tỷ lệ tín hiệu trên nhiễu.


9
Thậm chí còn có nút "Ngừng xem tất cả kho lưu trữ" ngay bây giờ!
Francesc Rosas,

4
Ngay cả khi không có nút như vậy, bạn chỉ có thể mở bảng điều khiển dành cho nhà phát triển và thực hiện nhanh chóng $('button').filter(function(){return $(this).text() === 'Unwatch'}).click(). Trang web + jQuery = API tốt nhất!
Patrick Oscity

4
Cảm ơn, @ p11y, ý tưởng tuyệt vời. Đây là phiên bản cải tiến với tính năng lọc tài khoản (nếu bạn chỉ muốn lọc các $('button').filter(function(){return $(this).text() === 'Unwatch' && $(this).parent().parent().find("a span").html() == "organisationName" }).click();
kho lưu trữ

@Matej: bạn có phiền đăng cái này như một câu trả lời không? Nó cũng hoạt động tuyệt vời như một bookmarklet, giúp khi tổ chức lớn, nó có nhiều repo hơn là vừa vặn trên một trang!
Marius Gedminas

1
Nếu bạn có nhiều trang repo đã xem, nút "Mở khóa tất cả" có mở tất cả repo hay chỉ những trang trên trang hiện tại?
Dennis

16

Phiên bản JS gốc của câu trả lời trước đó . Điều hướng đến https://github.com/watching và sau đó chạy:

Lót:

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()})

Chưa gói:

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
Phiên bản chưa được bao bọc sẽ gây ra lỗi khi xác định hằng số orgnhiều lần. Điều này phù hợp với tôi: const orgName = 'YOUR_ORG' const query = document.querySelectorAll ('. Js-subscription-row') const row = Array.prototype.slice.apply (query) rows.forEach (function (el) {let org = el.querySelector ('a [href ^ = "/' + orgName + '"]') if (org) el.querySelector ('button'). click ()})
Jon Dean

Các bộ chọn đã thay đổi, những gì hiện đang hoạt động là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 dường như đã cập nhật trang này. Bản cập nhật cho mã ở trên là bản này mà tôi vừa sử dụng: 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())sau đó chỉ cần làm mới trang và chạy lại cho đến khi hoàn tất.
J_A_X

10

Tổ chức cụ thể

Nếu bạn chỉ muốn mở repos từ một tổ chức, bạn có thể sử dụng nó từ 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(); } });

Thay thế YOUR_ORGbằng bất cứ thứ gì tổ chức của bạn được gọi.



1

Tôi chưa thấy bất kỳ điều gì nhưng, vì chúng ta có sức mạnh của toàn bộ vũ trụ (nói ngắn gọn chúng ta là những nhà phát triển). Sử dụng API nhà phát triển của họ và tạo một công cụ nhỏ. API rất mô tả,

http://developer.github.com/


0

Tôi cũng đã tìm thấy một công cụ dòng lệnh sử dụng API GitHub để mở nhiều kho lưu trữ: https://www.npmjs.com/package/github-unwatch-org-repos

Tôi không phải là người yêu thích các công cụ dòng lệnh muốn mật khẩu của tôi ở dạng văn bản thuần túy trên dòng lệnh (do đó hiển thị cho tất cả người dùng hệ thống chạy 'ps' vào đúng thời điểm và cũng được lưu trữ dưới dạng văn bản thuần túy trong ~ / .bash_history trừ khi bạn cực kỳ cẩn thận để tránh điều đó), vì vậy tôi đã không thử nó.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.