如何在 GitHub Desktop 上重命名一个本地仓库,但不改变仓库目录的名称?

17

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

问题是:C:\Project1\WebsiteC:\Project2\Website - 都显示为Website
我想避免必须使用:C:\Project1\Project1-Website

我设置了.git\description文件- 没有效果。
我将remote origin URL设置为<path>\Project-Website.git- 没有效果。
我尝试过git clone <path>\Project-Website.git Project-Website - 也没有效果。

这会造成混乱:

屏幕截图列出重复的存储库名称


你尝试过使用资源管理器导航到存储库,然后通过本地文件查找应用程序进行重命名吗? - Briana Swift
@BrianaSwift 这就是我想要避免的。目前我有 project\website,不想使用 project\project-website - Ujjwal Singh
这是你在问的吗?https://dev59.com/unI-5IYBdhLWcg3wCztn - Briana Swift
是的,但是要特别针对GitHub桌面应用程序 - Ujjwal Singh
4个回答

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

太好了!这个问题拖延了太久...但很高兴它终于解决了。 - Ujjwal Singh

6

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

事实证明,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

这里是一个 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}

3

你必须在此方法中重命名目录

  1. 首先关闭使用相关目录的每个应用程序
  2. 然后重命名文件夹
  3. 之后打开Github桌面版并点击“定位”,然后浏览文件夹:


0

以上都不是正确答案。只需在.git/description中放置名称(自己的第一行),就可以完成!

原因:我不知道为什么,但VSCode已将我的存储库名称更改为完全错误的名称。因此,GitHub桌面应该有另一个获取名称的点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接