
本文介绍如何编写一个 Bookmarklet,用于批量删除 GitHub 项目中已合并或已关闭的分支。该 Bookmarklet 通过 JavaScript 代码自动查找并点击删除按钮,简化了手动删除大量分支的繁琐过程。通过使用 MutationObserver,可以确保在删除操作完成后再点击下一个按钮,避免因按钮禁用而导致删除失败的问题。
在 GitHub 项目中,如果存在大量已合并或已关闭的分支,手动删除它们会非常耗时。Bookmarklet 是一种便捷的工具,可以执行自定义 JavaScript 代码,从而自动化一些常见的任务。下面介绍如何创建一个 Bookmarklet,用于批量删除这些分支。
以下代码提供了一个 Bookmarklet,它可以自动查找并点击所有已合并或已关闭分支的删除按钮。
javascript:(async function(){
function waitTillNotDisabled(elm) {
return new Promise(resolve => {
if (!elm.disabled) {
return resolve();
}
const observer = new MutationObserver(mutations => {
if (!elm.disabled) {
resolve();
observer.disconnect();
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
});
}
const deleteButtons = document.querySelectorAll('span[title="Status: Merged"], span[title="Status: Closed"]');
for (let i=0;i<deleteButtons.length;i++) {
const deleteButton = deleteButtons[i].parentNode.parentNode.querySelector('.js-branch-delete-button');
await waitTillNotDisabled(deleteButton);
deleteButton.click();
}
})();waitTillNotDisabled(elm) 函数:
document.querySelectorAll('span[title="Status: Merged"], span[title="Status: Closed"]'):
循环遍历删除按钮:
通过使用 Bookmarklet 和 MutationObserver,可以有效地批量删除 GitHub 项目中已合并或已关闭的分支。这可以节省大量时间和精力,并保持代码仓库的整洁。请务必谨慎使用,并确保在运行 Bookmarklet 之前仔细检查分支列表。
以上就是使用 Bookmarklet 批量删除 GitHub 合并/关闭的分支的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号