您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Fixes the manual merge instructions on github
当前为
// ==UserScript== // @name Github manual merge // @namespace https://github.com/lordwelch/ // @version 1.0 // @description Fixes the manual merge instructions on github // @license MIT // @author lordwelch // @match https://github.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=github.com // @grant none // @run-at document-idle // ==/UserScript== (async function() { 'use strict'; console.log("script started"); var pushState = history.pushState; var replaceState = history.replaceState; history.pushState = function() { pushState.apply(history, arguments); window.dispatchEvent(new Event('pushstate')); window.dispatchEvent(new Event('locationchange')); }; history.replaceState = function() { replaceState.apply(history, arguments); window.dispatchEvent(new Event('replacestate')); window.dispatchEvent(new Event('locationchange')); }; window.addEventListener('popstate', function() { window.dispatchEvent(new Event('locationchange')); }); window.addEventListener('locationchange', async function(){ var location = document.location.pathname.match(/\/([^/]+)\/([^/]+)\/pull\/(\d+)$/); if (location == null) { console.log("incorrect page"); return; } var owner = location[1]; var repo = location[2]; var prNum = location[3]; var branchInstructions = document.querySelector("#clone-help-step-1"); var pushInstructions = document.querySelector("#clone-help-step-2 > span:nth-child(3)"); var urlObj = document.getElementById("clone-help-git-url"); var url = ''; var branchName = ''; var repoOwner = ''; while (branchInstructions == null || pushInstructions == null) { location = document.location.pathname.match(/\/([^/]+)\/([^/]+)\/pull\/(\d+)$/); if (location == null) { console.log("incorrect page"); return; } owner = location[1]; repo = location[2]; prNum = location[3]; console.log("Waiting for pr to load"); await new Promise(r => setTimeout(r, 100)); branchInstructions = document.querySelector("#clone-help-step-1"); pushInstructions = document.querySelector("#clone-help-step-2 > span:nth-child(3)"); urlObj = document.getElementById("clone-help-git-url"); } pushInstructions.remove(); var primaryBranch = branchInstructions.textContent.trim().split("\n")[0].split(" ").at(-1); branchName = branchInstructions.textContent.trim().split(" ").at(-1); url = urlObj.value.substring(0, urlObj.value.length - 4); repoOwner = url.split("/").at(-2); branchInstructions.textContent = `git stash\ngit checkout ${primaryBranch}\ngit fetch --force ${url} +${branchName}:${repoOwner}/${branchName}\ngit checkout ${repoOwner}/${branchName}`; }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址