如何在"GitHub桌面"上重命名仅限本地的存储库 - 而无需重命名存储库目录

Ujj*_*ngh 8 git github-for-windows

我有一个本地存储库(有一个本地远程源file://<remote>).
如何在Github desktop应用程序中更改此存储库的显示名称,而无需重命名存储库目录名称.

问题是:C:\Project1\Website&C:\Project2\Website- 都显示为网站
我想避免必须:C:\Project1\Project1-Website

我设置.git\description文件 - 没有用.
我设置remote origin URL<path>\Project-Website.git- 没有工作.
我试过git clone <path>\Project-Website.git Project-Website- 没用.

Von*_*onC 8

如何更改此存储库在 GitHub 桌面应用程序中的显示名称,而无需重命名存储库目录名称?

您需要将GitHub Desktop 升级到最新版本 2.8(2021 年 4 月)

为本地存储库创建别名

许多开发人员在 GitHub Desktop 中保留多个存储库副本,并且存储库的显示方式使得区分它们变得很困难。

在 GitHub Desktop 2.8 中,您可以为本地存储库创建别名,以便在列表中轻松区分它们。

https://github.blog/wp-content/uploads/2021/04/GitHub-Desktop-repository-aliases.gif


Ujj*_*ngh 6

更新:现在已经解决了 - 使用“添加别名”功能。

事实证明,git它本身没有规定指定存储库名称。根目录名称是与存储库名称有关的唯一真实来源。在.git/description虽然仅由像一些应用中使用Gitweb

GitHub desktop没有重命名本地存储库的规定。

解决方法:

覆盖显示的存储库名称(在开发工具中运行:[ View> Toggle developer tools] )最好将其保存为片段(Sources> Snippets)[不幸的是,这将必须在每次启动时运行]

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);
});
Run Code Online (Sandbox Code Playgroud)

这是结果:

具有重命名条目的本地回购列表

这是AHK在启动时自动执行脚本片段的脚本:

Run, "%LocalAppData%\GitHubDesktop\GitHubDesktop.exe"

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}
Run Code Online (Sandbox Code Playgroud)