我正在浏览Github的分叉指南:https://guides.github.com/activities/forking/ 我正在尝试将存储库克隆到我的计算机上。但是,执行以下命令:

$ git clone https://github.com/./Spoon-Knife.git
Cloning into 'Spoon-Knife'...
fatal: protocol 'https' is not supported

也尝试了SSH:

$ git clone git@github.com:./Spoon-Knife.git
Cloning into 'Spoon-Knife'...
Warning: Permanently added the RSA host key for IP address '.' to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我需要改变我的计算机上的一些配置设置,或者这是一个问题与GitHub?

编辑:我已经用“”替换了我的用户名和IP地址。


编辑:通过启动一个新的终端会话解决了这个特定的用户问题。

一个吗?之前协议(https)不支持。你想要的是:

克隆git@github.com: octcat /Spoon-Knife.git

或:

git 克隆 https://github.com/octocat/Spoon-Knife.git


有些可疑的事情正在发生。可能是一个不一致的github bug (a /B测试?)

我在windows10上,使用firefox。我刚刚复制了一个结帐URL,并获得了一个额外的字符。但这只是第一次。第二次它不在那里。我得看我的历史档案才知道!

以下是我的经历:

git clone --recursive https://github.com/amzeratul/halley-template
git clone --recursive http://github.com/amzeratul/halley-template
git clone --recursive github.com/amzeratul/halley-template
git clone --recursive https://github.com/amzeratul/halley-template

历史命令不显示额外的字符。就像我复制粘贴到终端时没有渲染一样。你可以看到我是如何试图删除's'然后是整个协议?当退格键比我预期的少移动一个字符时,我才被触发进一步调查!

我把我的shell历史文件保存在一个有十六进制编辑器的机器上,并且:

00000000  xx xx xx xx xx xx xx 0a  67 69 74 20 63 6c 6f 6e  |xxxxxxx.git clon|
00000010  65 20 2d 2d 72 65 63 75  72 73 69 76 65 20 c2 96  |e --recursive ..|
00000020  68 74 74 70 73 3a 2f 2f  67 69 74 68 75 62 2e 63  |https://github.c|
00000030  6f 6d 2f 61 6d 7a 65 72  61 74 75 6c 2f 68 61 6c  |om/amzeratul/hal|
00000040  6c 65 79 2d 74 65 6d 70  6c 61 74 65 0a 67 69 74  |ley-template.git|
00000050  20 2d 2d 68 65 6c 70 0a  67 69 74 20 75 70 64 61  | --help.git upda|
00000060  74 65 2d 67 69 74 2d 66  6f 72 2d 77 69 6e 64 6f  |te-git-for-windo|
00000070  77 73 0a 67 69 74 20 63  6c 6f 6e 65 20 2d 2d 72  |ws.git clone --r|
00000080  65 63 75 72 73 69 76 65  20 c2 96 68 74 74 70 73  |ecursive ..https|
00000090  3a 2f 2f 67 69 74 68 75  62 2e 63 6f 6d 2f 61 6d  |://github.com/am|
000000a0  7a 65 72 61 74 75 6c 2f  68 61 6c 6c 65 79 2d 74  |zeratul/halley-t|
000000b0  65 6d 70 6c 61 74 65 0a  63 75 72 6c 20 2d 2d 76  |emplate.curl --v|
000000c0  65 72 73 69 6f 6e 0a 63  64 20 63 6f 64 65 0a 67  |ersion.cd code.g|
000000d0  69 74 20 63 6c 6f 6e 65  20 2d 2d 72 65 63 75 72  |it clone --recur|
000000e0  73 69 76 65 20 c2 96 68  74 74 70 73 3a 2f 2f 67  |sive ..https://g|
000000f0  69 74 68 75 62 2e 63 6f  6d 2f 61 6d 7a 65 72 61  |ithub.com/amzera|
00000100  74 75 6c 2f 68 61 6c 6c  65 79 2d 74 65 6d 70 6c  |tul/halley-templ|
00000110  61 74 65 0a 67 69 74 20  63 6c 6f 6e 65 20 2d 2d  |ate.git clone --|
00000120  72 65 63 75 72 73 69 76  65 20 c2 96 68 74 74 70  |recursive ..http|
00000130  3a 2f 2f 67 69 74 68 75  62 2e 63 6f 6d 2f 61 6d  |://github.com/am|
00000140  7a 65 72 61 74 75 6c 2f  68 61 6c 6c 65 79 2d 74  |zeratul/halley-t|
00000150  65 6d 70 6c 61 74 65 0a  67 69 74 20 63 6c 6f 6e  |emplate.git clon|
00000160  65 20 2d 2d 72 65 63 75  72 73 69 76 65 20 67 69  |e --recursive gi|
00000170  74 68 75 62 2e 63 6f 6d  2f 61 6d 7a 65 72 61 74  |thub.com/amzerat|
00000180  75 6c 2f 68 61 6c 6c 65  79 2d 74 65 6d 70 6c 61  |ul/halley-templa|
00000190  74 65 0a 67 69 74 20 63  6c 6f 6e 65 20 2d 2d 72  |te.git clone --r|
000001a0  65 63 75 72 73 69 76 65  20 68 74 74 70 73 3a 2f  |ecursive https:/|
000001b0  2f 67 69 74 68 75 62 2e  63 6f 6d 2f 61 6d 7a 65  |/github.com/amze|
000001c0  72 61 74 75 6c 2f 68 61  6c 6c 65 79 2d 74 65 6d  |ratul/halley-tem|
000001d0  70 6c 61 74 65 0a                                 |plate.|
000001d6

在url之前插入了一个c2 96字符。不知道那是什么。它不是扩展的ASCII码(在那里它将是Â -),它被隐藏从几乎每一个地方,我粘贴,而它是在剪贴板上。我找到的最接近这个十六进制值将是https://www.fileformat.info/info/unicode/char/c298/index.htm,但我没有看到utf前缀的任何地方(再次,可能已经丢失)

这一切都可能是误导,因为我丢失了页面/剪贴板,并且只从保存的shell历史文件中工作,这可能是原始错误/恶意注入丢失的数据。


简单的答案是删除https

你的回购。:(git克隆https://........)

(git克隆://.......)

再次输入(git克隆https://........)


我刚在Windows 10上安装git并第一次运行它时遇到了同样的问题。重新启动bash窗口就解决了这个问题。


问题可能是这样的。

你试着用

CTRL + v

之前,它没有工作,所以你继续粘贴它与经典

右击-粘贴**。

可悲的是,无论何时你在终端上输入CTRL + V,它都会添加

隐藏的^?

(至少在我的机器上是这样编码的)。

你这个角色只在你之后出现

退格

(继续尝试git bash)。

所以你的链接变成^?https://..。

无效。


只需使用双引号的URL,如:git克隆“https://yourRepoUrl”

(它不知何故看到你正在使用2引号开始,不知道为什么)。

我得到了相同的错误=>致命:协议“https”不受支持(你可以看到https上的2引号)。


我遇到了同样的问题,我所做的就是重新启动命令行,然后使用命令“cd documents”导航到文档文件夹,而不是用户文件夹。这应该是所有需要的。还要确保链接是正确的。


您使用的Windows或Linux计算机可能没有登录到git hub,因此无法验证证书。从系统中,你得到的错误登录到GitHub与凭据,然后尝试使用命令,它将工作。


使用http而不是https;它会给出警告信息并重定向到https,得到克隆没有任何问题。

$ git clone http://github.com/karthikeyana/currency-note-classifier-counter.git
Cloning into 'currency-note-classifier-counter'...
warning: redirecting to https://github.com/karthikeyana/currency-note-classifier-counter.git
remote: Enumerating objects: 533, done.
remote: Total 533 (delta 0), reused 0 (delta 0), pack-reused 533
Receiving objects: 100% (533/533), 608.96 KiB | 29.00 KiB/s, done.
Resolving deltas: 100% (295/295), done.

问题 git克隆https://github.com/rojarfast1991/TestGit.git 致命:不支持协议“https”

解决方案:

步骤:

(1):-打开新终端并克隆git存储库

Git 克隆 https://github.com/rojarfast1991/TestGit.git

(2) git自动登录提示将打开,并要求您输入用户凭证。

用户名:- xxxxxxx

密码:- xxxxxxx

最后,克隆将开始…

git clone https://github.com/rojarfast1991/TestGit.git
Cloning into 'TestGit'...
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), done.

从普通记事本复制:

git clone https://github.com/./Spoon-Knife.git

然后在cmd中粘贴。


我尝试了很多方法来解决这个问题。但是我一次又一次的失败。然后我这样做了:

打开Git Bash >,到你的目录>,粘贴Git克隆https://shahadat@bitbucket.org/*******.git后,将显示一个命令提示符,提供登录凭据。提供凭证并克隆您的项目。


你试过了:

Ctrl + V

只需右击,然后点击粘贴


当我试图聪明地从回购的URL中提取克隆URL时,我得到了这个错误。我做错了。我正在做:

git@https://github.company.com/Project/Core-iOS

我必须这样做:

git@github.company.com:Project/Core-iOS.git

我犯了3个错误:

不需要https:// 在。com之后我需要:而不是/ 最后我需要一个。git


这个问题仍然存在,即使修复了大多数好评的答案。

更具体地说,我粘贴的链接没有“Ctrl + v”,但它仍然给出致命的:协议“https”不支持。

但如果你在Windows或谷歌搜索栏中复制这条消息,你会发现实际的消息是致命的:协议“##https”不受支持,其中“#”代表这个字符。正如您所看到的,这两个字符还没有被删除。

我在IntelliJ IDEA Community Edition 2019.2.3上工作,下面的修复涉及到这个工具,但答案是这2个字符仍然存在,需要从链接中删除。

IntelliJ修复

进入顶部栏,选择VCS -> Git -> Remotes…并点击。

现在它会打开连接这个的东西

你可以看到那两个无法识别的字符。我们必须移除它们。要么点击编辑图标并删除这两个字符,要么删除链接并添加一个新的。

确保你有”。项目文件夹中的Git文件夹。

现在应该是这样。点击“Ok”,现在你可以把文件推送到git存储库中了。


只需添加这个git配置——global http。sslVerify为false,这样它就不会检查证书。


如果你正在使用Git Bash:

不要按Ctrl + V粘贴链接。 你可以输入git clone,点击右键,然后粘贴。


当我试图通过Visual Studio克隆时,我得到了这个错误。当我在PowerShell中做同样的事情时,它工作得很好。


我得到了一个看起来非常类似的错误,因为我在URL周围放了单引号:

致命:不支持协议“https”

从URL中删除单引号可以解决这个问题。


如果您正在使用Visual Studio或Git GUI进行克隆,则需要删除“Git clone”命令。只需要地址。


上传项目到github

git init
echo . > .gitignore
git commit -m "commit"
git remote add origin "https://github.com/anmolmishra99/Delhi-Flask-WebApp.git"
git remote -v
git pull origin master 
git push origin master

人们通常点击Github或Bitbucket中的复制按钮,并将其粘贴到Visual Studio中的“克隆一个存储库”页面上。

你需要删除“git clone”命令在你已经复制的东西前面。只需粘贴以“https://....”开头的URL。那么它应该可以工作。

否则,您将得到https不支持的消息。


在我的例子中,push在一开始就有一个空格字符(。git \配置文件)

[remote "origin"]
url = https://gitlab____.git
fetch = +refs/heads/*:refs/remotes/origin/*
pushurl = " https://gitlab____.git"

去掉它,问题就解决了。


在我全新的Ubuntu服务器上也有同样的问题,然后我意识到我的系统上没有安装网络工具。

首先运行sudo apt install net-tools 然后更新你的系统sudo apt update

现在尝试使用nginx打开80端口,可以使用sudo apt install nginx安装,并使用sudo ufw allow ' nginx HTTP'打开80端口。

同样的端口8080 https运行sudo ufw允许'Nginx https '

尝试重新启动您的系统,现在尝试克隆回购。