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

我有一个本地存储库(有一个本地远程源 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 - 没用。

这是它造成的混乱:

【问题讨论】:

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

标签: git github-for-windows


【解决方案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, {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}

【讨论】:

    【解决方案2】:

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

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

    为本地仓库创建别名

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

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

    【讨论】:

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

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

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        猜你喜欢
        • 2011-08-10
        • 2012-12-04
        • 2011-05-02
        • 2012-06-26
        • 2019-06-17
        • 2013-03-04
        • 2019-02-02
        • 1970-01-01
        • 2011-01-27
        相关资源
        最近更新 更多