目录
目录
1. ssh -T git@github.com配置了公钥依旧提示git@github.com‘s password: Permission denied, please try again.
2. ssh: connect to host github.com port 22: Connection refused
3. git报错Failed to connect to127.0.0.1 port 1080:Connection refused
4. git push时卡住的解决方法(长时间不报错也不自动退出)_相关技巧_网络编程 - 编程客栈
5. fatal: The current branch master has no upstream branch之解决方法_小智解说的博客-CSDN博客
6. https://www.cnblogs.com/princesong/p/9885857.html
遇到了很多坑人的问题,在网上查阅了大量资料总结下来了,有关的简化内容如下,部分资料连接会放在每一项的下方,希望能帮到跟我一样痛苦的有缘人。
提一嘴,按照这个博主大大的方法来使用git访问Github基本是没什么问题的:
Ubuntu上使用GitHub的步骤_xyyshh的博客-CSDN博客_github ubuntu
接下来就是遇到的问题及解决方法了:
用 ssh -Tv git@github.com 命令去测试链接并且打印日志,检查后发现没有什么问题的话可以看看是不是防火墙的问题(懒得看的话也可以直接按下边步骤来试试水),见下方:
输入这个命令测试一下,如果不再报错,就很有可能是防火墙的问题了
ssh -T -p 443 git@ssh.github.com
打开自己.ssh文件夹中的config文件,在底端添加以下内容,如果自己的.ssh文件夹中没有找到该文件,就自己在.ssh文件夹中新建一个。
Host github.com
Hostname ssh.github.com
Port 443
User git
再试一下ssh -T git@github.com,多半就ok了。
具体请看这个官方文档 Using SSH over the HTTPS port - GitHub Docs
方法:
(1)使用Github的443端口
22端口可能被防火墙屏蔽了,可以尝试连接GitHub的443端口。这个解决方法和问题1是一样的,具体请看问题1的步骤。
再强调一下,这个方案有效的前提是:执行命令ssh -T -p 443 git@ssh.github.com后不再提示connection refused,所以要尝试这个方案的小伙伴先执行这条命令测试下。
(2)使用https协议,不要使用ssh协议
在你的GitHub的本地repo目录,执行:
$ git config --local -e
然后把里边的url配置项从git格式修改为https格式
把 url = git@github.com:username/repo.git
改成 url = https://github.com/username/repo.git
这个方法实际上修改的是repo跟目录下的 ./git/config 文件
(3)修改DNS
上述方法都行不通的话,还有一种(个人也是这种方法救了老命的):
使用ssh -v命令,打出详细日志。

发现连接http://github.com的地址居然是::1和127.0.0.1。前者是IPV6的localhost地址,后者是IPV4的localhost地址。 至此问题就很明确了,是DNS解析出问题了,导致http://github.com域名被解析成了localhost的ip地址,就自然连不上GitHub了。
这个问题是DNS解析被污染了,有2种可能:
解决方法:
①清楚DNS缓存
②修改hosts文件,在底部增加一条github.com的域名映射:
vim /etc/hosts //编辑该文件
在hosts文件底部加上 140.82.113.4 github.com //查找这个ip地址的方法见下
按下Esc,再输入 :wq! 保存退出
如果权限不够:
sudo su拥有root权限,再进行上述操作
操作完后终端输入exit退出
查找github.com的ip地址可以使用https://www.ipaddress.com/来查询,也可以使用nslookup命令
nslookup github.com 8.8.8.8 //8.8.8.8是Google的DNS服务器地址,如果不加的话就会使用本机已经设置好的DNS服务器进行域名解析。
ipconfig /all可以查看本机DNS服务器地址。
解决方法:
(1)解除代理
网上很多人都是用这个方法解决的,但是这个方法在我这里没啥用,有点懒,这里就不放出来了,需要的家人请自行上网查阅。
(2)修改 .gitconfig 文件
进入用户的根目录
cd 或 cd ~
修改 .gitconfig 的内容
vim .gitconfig
把那些http_proxy,ftp_proxy ,all_proxy, https_proxy ,no_proxy 中指向 127.0.0.1:1080的都删除。
按下Esc,再输入 :wq! 保存退出
报拒绝连接的错误时,先判断是不是自己主机会有一些代理或者以前因为想要加速访问时设置的代理,如果有,先删除试试,如果还是这样,看看别人是不是可以连接,如果别人也连接不了,那估计可能就是git服务的问题了
外加一个总结:安全验证 - 知乎
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah
在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',
我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以
相信很多人在录制视频的时候都会遇到各种各样的问题,比如录制的视频没有声音。屏幕录制为什么没声音?今天小编就和大家分享一下如何录制音画同步视频的具体操作方法。如果你有录制的视频没有声音,你可以试试这个方法。 一、检查是否打开电脑系统声音相信很多小伙伴在录制视频后会发现录制的视频没有声音,屏幕录制为什么没声音?如果当时没有打开音频录制,则录制好的视频是没有声音的。因此,建议在录制前进行检查。屏幕上没有声音,很可能是因为你的电脑系统的声音被禁止了。您只需打开电脑系统的声音,即可录制音频和图画同步视频。操作方法:步骤1:点击电脑屏幕右下侧的“小喇叭”图案,在上方的选项中,选择“声音”。 步骤2:在“声
首先回顾一下拉格朗日定理的内容:函数f(x)是在闭区间[a,b]上连续、开区间(a,b)上可导的函数,那么至少存在一个,使得:通过这个表达式我们可以知道,f(x)是函数的主体,a和b可以看作是主体函数f(x)中所取的两个值。那么可以有, 也就意味着我们可以用来替换 这种替换可以用在求某些多项式差的极限中。方法: 外层函数f(x)是一致的,并且h(x)和g(x)是等价无穷小。此时,利用拉格朗日定理,将原式替换为 ,再进行求解,往往会省去复合函数求极限的很多麻烦。使用要注意:1.要先找到主体函数f(x),即外层函数必须相同。2.f(x)找到后,复合部分是等价无穷小。3.要满足作差的形式。如果是加
嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g
我想从then子句中访问case语句表达式,即food="cheese"casefoodwhen"dip"then"carrotsticks"when"cheese"then"#{expr}crackers"else"mayo"end在这种情况下,expr是食物的当前值(value)。在这种情况下,我知道,我可以简单地访问变量food,但是在某些情况下,该值可能无法再访问(array.shift等)。除了将expr移出到局部变量然后访问它之外,是否有直接访问caseexpr值的方法?罗亚附注我知道这个具体示例很简单,只是一个示例场景。 最佳答案