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

Posted

技术标签:

【中文标题】如何在“GitHub 桌面”上重命名仅限本地的存储库 - 无需重命名存储库目录【英文标题】:How do I rename a local-only repository on 'GitHub desktop' - without renaming repository directory 【发布时间】:2016-10-04 18:25:45 【问题描述】:

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

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

我设置了 .git\description 文件 - 没有用。 我将remote origin URL 设置为<path>\Project-Website.git - 不起作用。 我试过git clone <path>\Project-Website.git Project-Website - 没用。

这是它造成的混乱:

【问题讨论】:

您是否尝试过使用资源管理器导航到存储库并通过本机文件查找应用程序重命名它? @BrianaSwift 这就是我想要避免的。目前我有project\website 并想避免project\project-website 这是您要问的吗? ***.com/questions/2041993/… 但是特定于GitHub desktop应用程序 【参考方案1】:

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

原来git 本身没有规定来指定存储库名称。根目录名称是与存储库名称相关的唯一真实来源.git/description 虽然只被一些应用程序使用,比如Gitweb

另外,GitHub desktop 没有规定重命名本地存储库。

解决方法:

覆盖显示的仓库名称(在开发工具中运行:[View > Toggle developer tools]) 最好将其保存为 sn-p (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);
);

这是结果:

这里是AHK 脚本,用于在启动时自动执行脚本 sn-p:

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

winWait, GitHub Desktop
sleep, 1000
send, CTRLDOWNSHIFTDOWNiSHIFTUPCTRLUP
sleep, 2000
send, CTRLDOWNSHIFTDOWNpSHIFTUPCTRLUP
sleep, 2000
send, BACKSPACE
sleep, 100
send, !
sleep, 100
send, ENTER
sleep, 500
send, CTRLDOWNSHIFTDOWNiSHIFTUPCTRLUP

【讨论】:

【参考方案2】:

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

你需要升级GitHub Desktop to its latest revision 2.8 (Apr. 2021):

为本地仓库创建别名

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

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

【讨论】:

好消息!这徘徊了太久......但很高兴它终于完成了。【参考方案3】:

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

    首先您必须关闭所有使用相关目录的应用程序 然后重命名文件夹 然后打开 Github 桌面并点击“定位”然后浏览文件夹:

【讨论】:

【参考方案4】:

以上都不是正确答案。只有把名字放在.git/description(自己的第一行)中才能为我完成!

原因:我不知道为什么,但 VSCode 已将我的存储库名称更改为完全错误的名称。因此,GitHub Desktop 必须在另一个地方取名。

【讨论】:

以上是关于如何在“GitHub 桌面”上重命名仅限本地的存储库 - 无需重命名存储库目录的主要内容,如果未能解决你的问题,请参考以下文章

如何在 GitHub 网站上重命名分支?

python 如何在Python上重命名文件的示例

Google Cloud Storage - 在 GUI 上重命名/移动文件/文件夹

在 Android 上重命名帐户 (AccountManager)

GitHub 桌面上传限制

在代码上重命名 Android 文件夹