记录一下今天 git 拉代码遇到的一些异常情况;

无论是项目目录下 git pull 还是直接 git clone 都不能正常拉代码;

  • 异常情况1
ssh: connect to host gitee.com port 23: Connection timed out
fatal: Could not read from remote repository.

我把 ssh: connect to host gitee.com port 23: Connection timed out 当做关键词百度了一下,很多文章都让在 ~/.ssh 目录创建个 config 文件;PreferredAuthentications 印象中是在多账户的情况下配置的,还是抱着试一试的想法测试了一下,发现在我这边是无效的。

  Host gitee.com
  User git
  Hostname ssh.gitee.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa
  Port 443

ssh -T git@gitee.com 测试报错 ssh: Could not resolve hostname ssh.gitee.com: Name or service not known

  • 异常情况2

    针对 ssh -T 响应的错误搜索了一下,不是让修改 host 文件就是给一段 Python 代码;感觉不太对直接跳过了。

    嗯…回到错误1换种思路想一下,既然是报错 connect to host gitee.com port 23: Connection timed out ,说明把本地使用ssh的端口当做 gitee 连接的端口了,那么就换种思路,在使用命令时声明端口呢?
git clone ssh://git@gitee.com:22/xahy/xahy-001.git



发现成功拉取代码了。

     

     

虽然ok了,还是思考一个问题;

因为第一次遇到这种问题;

之前使用其他的服务器修改了端口,

拉取代码都是没有任何问题。

复盘之前的操作,发现使用的端口就是当前ssh使用的端口

是不是就是直接使用的当前服务器 ssh 配置声明的端口?

修改 shh 配置文件,验证一下。

vi /etc/ssh/ssh_config
vi /etc/ssh/sshd_config

///以上这2个文件,增加  Port 22

重启ssh服务或者重启服务器

systemctl restart sshd

重新拉取代码,发现ok了



在修改 ssh 配置时还遇到了 ssh_exchange_identification: Connection closed by remote host错误;

原因是将端口声明为 Port 443了,修改为Port 22就可以了。

不过说明这种方案也是可行的,而且无需特意声明端口。

     

     

总结一下,

遇到 git pull 或者 git clone 无响应;

可以先检查ssh 配置是否声明开启22端口;

或者重新 clone 项目,在 clone 时声明22端口;

就可以成功操作了;

以上两种方案任选一都可以。

     

     

文章到这儿就结束了。

git clone 和 git pull 代码无响应的更多相关文章

  1. git clone 和 download 不一样,能用git clone 就用git clone,download的代码,经常出现安装bug

    git clone 和 download 不一样,能用git clone 就用git clone,download的代码,经常出现安装bug

  2. Git clone、git reset

    一,git clone 1,git clone某一个分支 git clone -b <branch> <remote_repo> 2,.git 文件太大 :clone的时候,可 ...

  3. git clone、git pull和git fetch的用法及区别

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流.Git 常用命令速查表 最近在一个学习小组里学习AI的课程,我们所有的学习资料和homework都放在gitlab上.今天一个小队友从gitlab ...

  4. 【Git】git clone与git pull区别

    从字面意思也可以理解,都是往下拉代码,git clone是克隆,git pull 是拉.但是,也有区别: 从远程服务器克隆一个一模一样的版本库到本地,复制的是整个版本库,叫做clone.(clone是 ...

  5. git clone 仓库的部分代码

    对于较大的代码仓库来说,如果只是想查看和学习其中部分源代码,选择性地下载部分路径中的代码就显得很实用了,这样可以节省大量等待时间. 比如像 Chromium 这种,仓库大小好几 G 的. clone ...

  6. git clone和git pull的区别

    1.需不需要本地文件夹是仓库 git clone是将整个工程复制下来所以,不需要本地是仓库(没有.git文件夹)   git clone git pull需要先初始化本地文件夹文一个仓库   git ...

  7. git clone 指定分支 拉代码

    1.git clone 不指定分支 git clone http://10.1.1.11/service/tmall-service.git 2.git clone 指定分支 git clone -b ...

  8. 在linux下执行git clone、git pull 、git push等操作免密

    1. 通过ssh密钥实现 ssh-keygen -t rsa -C "你的邮箱" -f "自己定义的目录" 打开: id_rsa.pub ,将文件内容复制到 g ...

  9. Git知识总览(一) 从 git clone 和 git status 谈起

    本篇博客是整理git相关知识的第一篇,因为之前一直是用SourceTree对Git的命令行操作用的不是特别熟,于是乎过了一遍ProGit(链接:https://git-scm.com/book/zh/ ...

随机推荐

  1. sybase profile

    # # Sybase Product Environment variables # SAP_JRE7_32="/opt/sybase/shared/SAPJRE-7_1_011_32BIT ...

  2. Sphinx全文索引安装教程

    首先了解一下sphinx全文索引的相关知识官方网站:http://www.sphinxsearch.com/ 官方文档:http://www.sphinxsearch.com/docs/ 中文支持:h ...

  3. ZBrush软件中的笔触类型

    在ZBrush® 中我们通过各种笔触类型,确定在使用ZBrush®画笔进行绘制时画笔的变化方式及状态.使用多种画笔绘制根据选择不同的笔触组合绘制,能够得到繁多变化丰富的制作效果. 选择笔触的类型 点击 ...

  4. LeetCode Golang 4. 寻找两个有序数组的中位数

    4. 寻找两个有序数组的中位数 很明显我偷了懒, 没有给出正确的算法,因为官方的解法需要时间仔细看一下... func findMedianSortedArrays(nums1 []int, nums ...

  5. easyui的增删改

    陈旧的开发模式PM:“我要这个功能”后端:“这个先找前端做个模板”前端:“模板做完了”后端:“我来对接一下,这里样式不对”前端:“我改完了”后端:“功能交付”PM:“春节要加这个活动”后端:“这个先找 ...

  6. thinkphp queue

    composer create-project topthink/think composer require topthink/think-queue php think queue:work -- ...

  7. systemctl 控制单元

    [root@web01 ~]# systemctl status sshd.service ● sshd.service - OpenSSH server daemon Loaded: loaded ...

  8. Laravel核心解读--Contracts契约

    Contracts Laravel 的契约是一组定义框架提供的核心服务的接口, 例如我们在介绍用户认证的章节中到的用户看守器契约IllumninateContractsAuthGuard 和用户提供器 ...

  9. 新手学python-Day4-进制,数据类型,编码转换,列表

    python3中字符串的编码转换 names=b'\xe2\x82\xac20'.decode('utf-8') print(names) names='€20'.encode('utf-8') pr ...

  10. 【codeforces 768F】Barrels and boxes

    [题目链接]:http://codeforces.com/problemset/problem/768/F [题意] 让你把f个food和w个wine装在若干个栈里面; 每个栈只能装food或者是wi ...