更新:现在已经解决了-使用“添加别名”功能。
事实证明,git
本身没有提供指定存储库名称的规定。根目录名称是有关存储库名称的“唯一真相来源”。但是,.git/description
仅由某些应用程序(如Gitweb
)使用。
此外,GitHub桌面版
没有提供重命名本地存储库的功能。
解决方法:
要覆盖显示的存储库名称(在开发工具中运行:[查看
> 切换开发人员工具
])
最好将其保存为片段(源代码
> 片段
)[不幸的是,这将不得不在每次启动时运行]
function getElementByXpath(path) {
return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}
function overrideRepoNames(repoNames) {
for (x in repoNames) {
getElementByXpath('//*[@id="__ListRow_1-' + (parseInt(x) + 1) + '"]/div/div[2]/span/span').innerHTML = repoNames[x].replace(new RegExp('\\\\','g'), ' \\ ')
}
}
repoNames = ['Ujnotes\\Website\\Framework', 'WCode\\Website\\Framework', 'WCode\\Website\\interim', 'WCode\\Location\\interim', 'Ujnotes\\Website\\interim', 'WCode\\Location\\Paper', 'WCode\\Website\\Project', 'WCode\\Android\\Project', 'WCode\\Windows\\Project', 'WCode\\Location\\Project', 'Ujnotes\\Website\\Project'];
getElementByXpath('//*[@id="desktop-app-toolbar"]/div[1]/div/div/button').addEventListener('click', function(event) {
setTimeout(function() {
if(getElementByXpath('//*[@id="foldout-container"]') != null)
overrideRepoNames(repoNames)
}, 50);
});
这是结果:
![Local repo list with renamed entries](https://istack.dev59.com/W0mJl.webp)
这里是一个 AHK
脚本,用于在启动时自动执行脚本片段:
Run, "
winWait, GitHub Desktop
sleep, 1000
send, {CTRLDOWN}{SHIFTDOWN}i{SHIFTUP}{CTRLUP}
sleep, 2000
send, {CTRLDOWN}{SHIFTDOWN}p{SHIFTUP}{CTRLUP}
sleep, 2000
send, {BACKSPACE}
sleep, 100
send, {!}
sleep, 100
send, {ENTER}
sleep, 500
send, {CTRLDOWN}{SHIFTDOWN}i{SHIFTUP}{CTRLUP}
project\website
,不想使用project\project-website
。 - Ujjwal SinghGitHub桌面应用程序
。 - Ujjwal Singh