GitHub克隆到桌面使用TortoiseGit而不是GitHub桌面版

9
当我尝试将一个仓库克隆到桌面时,克隆的默认应用程序突然变成了TortoiseGit而不是GitHub。有没有人知道解决办法? github-tortoise
4个回答

12
以下修复方法是一个永久性的解决方案,可以抵御TortoisGit的更新/修复,并且它会根据https://learn.microsoft.com/en-us/windows/win32/shell/default-programs的说明添加GitHubDesktop的协议关联。请将以下内容添加到注册表中 (您可以将此内容保存为.reg文件,然后双击它以自动导入这些键到注册表中):
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\GitHubDesktop]

[HKEY_LOCAL_MACHINE\SOFTWARE\GitHubDesktop\Capabilities]

[HKEY_LOCAL_MACHINE\SOFTWARE\GitHubDesktop\Capabilities\UrlAssociations]
"github-windows"="github-windows"
"x-github-client"="x-github-client"

[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications]
"GitHubDesktop"="Software\\GitHubDesktop\\Capabilities"

重新启动或在Windows服务器上登出并登录。

下次从GitHub克隆项目时,会弹出一个消息框,要求选择一个应用程序。

GitHub桌面版现在也可以在Windows设置中使用:按协议选择默认应用程序。因此,如果TortoisGit(或另一个应用程序)被选为GitHub克隆的默认处理程序,则可通过Windows设置进行恢复。

我还在GitHub桌面版开发的问题中打开了一个新错误:https://github.com/desktop/desktop/issues/8258


知道了。我希望我能够测试这个,但我最终删除了tGit并只使用Github Desktop。如果还有其他人尝试过,请告诉我们。 - Nomik
@Nomik - 我手动将这些条目添加到注册表中,解决了我的问题。现在我可以选择使用Tortoise或GitHub桌面版。 - code-it

2

更改Windows注册表无法生效。

我遇到了同样的问题,注册表没有问题,但GitHub桌面应用程序无法启动。

作为一名软件开发人员,我曾经使用过URL协议。我不明白为什么Windows设置与根注册表无关。希望得到评论。

enter image description here

enter image description here

以下是我解决问题的方法:

卸载Tortoise并重新安装Github后,Chrome可以正常工作。

在安装Tortoise时,请注意此设置: enter image description here

即使您取消了此项选择,x-github-client仍会再次注册到TortoiseGit客户端中。

您可以在Windows默认应用程序设置中检查它 - 按协议选择默认应用程序。

因此,我认为这是TortoiseGit的一个错误。 我使用TortoiseGit 2.7.0和Win10 1809。 如果您真的想要Github桌面弹出窗口,则不应安装TortoiseGit。


1

在2.6.0版本中存在一个错误,如果在安装时启用了github处理程序,则将TortoiseGit设置为默认程序。

要解决此问题,请在Windows的默认程序设置中打开文件类型关联对话框,并将github-windowsx-github-client设置回官方的github客户端。可能需要先更新到TortoiseGit 2.7.0。

参见https://www.thewindowsclub.com/change-file-associations-windows


您可以尝试一下较为困难的方法:(将此保存为.reg文件并导入,您需要调整路径)
Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\github-windows]

[HKEY_CLASSES_ROOT\github-windows]
"URL Protocol"=""
@="URL:github-windows"

[HKEY_CLASSES_ROOT\github-windows\shell\open\command]
@="\"C:\\Users\\USERNAME\\AppData\\Local\\GitHubDesktop\\app-1.4.2\\GitHubDesktop.exe\" --protocol-launcher \"%1\""

[-HKEY_CLASSES_ROOT\x-github-client]

[HKEY_CLASSES_ROOT\x-github-client]
"URL Protocol"=""
@="URL:x-github-client"

[HKEY_CLASSES_ROOT\x-github-client\shell\open\command]
@="\"C:\\Users\\USERNAME\\AppData\\Local\\GitHubDesktop\\app-1.4.2\\GitHubDesktop.exe\" --protocol-launcher \"%1\""

这真的很有帮助,但问题在于当我尝试更改x-github-client默认应用程序时,例如,我只得到了TortoiseGit作为选项和默认的“在商店中查找应用程序”。 - Nomik
我无法使其工作。这真的很奇怪,因为只有Chrome会发生这种情况,而Firefox会要求使用默认程序。 - Nomik
也许Chrome存储了自己的处理程序,需要在那里进行配置... - MrTux
艰难的方式对我不起作用。不知何故仍然涉及到Tortoise。重启后。 - Martin Capodici

0

这是基于tobias.loew的回答:

如果您在开头没有这行代码:

Windows Registry Editor Version 5.00

脚本将无法编译

创建github.reg文件:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\GitHubDesktop]

[HKEY_LOCAL_MACHINE\SOFTWARE\GitHubDesktop\Capabilities]

[HKEY_LOCAL_MACHINE\SOFTWARE\GitHubDesktop\Capabilities\UrlAssociations]
"github-windows"="github-windows"
"x-github-client"="x-github-client"

[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications]
"GitHubDesktop"="Software\\GitHubDesktop\\Capabilities"

将此内容放入名为 github.reg 的文件中,然后双击它。

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