Git教程 git pull 和 git clone的区别

Git教程 git pull 和 git clone的区别.

大家好,又见面了,我是你们的朋友全栈君。

网上看好多人解释pull和clone的区别,说什么pull是更新本地代码,clone是本地从无到有的过程,但有一点没提到,恰好我今天又犯了这个问题,因为我原来都是直接从远程仓库pull,今天突然发现发现pull不能用,clone才生效,我才意识到这个问题。决定记录一下。


使用方法

  • 有权限的仓库 本地无代码
    • git pull
    • git clone
  • 有权限的仓库 本地有代码
    • git pull
  • 无权限的仓库 本地无代码
    • git clone
  • 无权限的仓库 本地有代码
    • 删了重新下

换个说法

  • git pull:必须连接远程仓库才能用。可以用于下载完整代码更新本地代码。
  • git clone:只要你想往本地下远程仓库完整的代码就可以用,不用连接远程仓库(连接了也可以)。 不适用于更新本地代码。

如果只想知道怎么用就不用往下看了,如果想知道原因继续看。


—————————分割线—————————


1 git pull

git pull适用于从用户有权限的仓库下拉代码,不管本地有没有代码。

因为我平时下拉代码都是直接git pull。

1.1 我有权限的仓库

我有权限的仓库指的是我自己的,或者团队中我可以使用的仓库。

要使用git pull首先你要确定已经连接远程仓库。要不然你直接git pull orgin master那Github会问你:“??什么master?哪个master?你就是老子的master吗?”

所以首先要连接远程仓库。

在这里插入图片描述

  1. init初始化空白的本地仓库,里边除了.git啥也没有
  2. 连接远程仓库

1.1.1 本地没代码

在这里插入图片描述
git remote -v用于显示当前本地仓库连接的远程仓库,你可以连接好几个。然后一个仓库是成对存在的,一个上传一个下拉。前边origin我一般称为远程仓库代称,后边的是你的连接方式。

现在显示我连接了一个github的远程仓库取名叫origin。

Git教程 git pull 和 git clone的区别

空白仓库直接使用git pull就可以下拉代码了。

1.1.2 本地有代码

本地有代码是什么情况。

  • 团队合作,一个仓库多人使用
  • 你自己的仓库,你在多台电脑上使用(比如宿舍一个,实验室一个)

为什么要git pull呢?不同电脑上代码版本不一样。所以为了减少工作并且保证代码版本一致,要在每次写代码的时候下拉代码。在写完之后push到远程仓库。画个图解释一下。
在这里插入图片描述
在这里插入图片描述

1.2 我没权限的仓库

没权限的仓库指的是别人的仓库。别人不给权限,你当然不能随意修改人家的代码了。

没权限的仓库不能使用git pull。比如:

今天我像往常一样去下载代码。但是这是我第一次下载别人的代码。
在这里插入图片描述
我像往常一样添加仓库链接,git pull下拉。但是他提示我:

Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rightsand the repository exists.

Permission denied是说SSH密钥无法使用,让我确认我是否有权限访问或者这个仓库是不是存在。
仓库确实是存在的。所以肯定是我没有权限。
在这里插入图片描述
解释一下三步操作:

  1. 添加远程仓库,用SSH连接
  2. 从仓库master分支下拉代码
  3. 删除我添加的远程仓库(既然不能用我当然删掉了)

这时候我想起来:SSH只有仓库所有者能用。因为你电脑上配置的SSH和你github上的SSH是一对的,只有你在你电脑上使用你的github仓库才能用SSH。

既然仓库所有者才能用SSH,那我换HTTP不就行了。(此时我还没意识到问题的严重性?)
在这里插入图片描述

  1. 我又添加了https的连接
  2. 第二步我又下拉的仓库

然后他又提示我:

fatal: unable to access ‘https://github.com/hitvoice/DrQA.git/’: OpenSSL SSL_read: Connection was reset, errno 10054

意思还是我无法连接。
这时候我突然意识到了问题?。这好像是人家的仓库哎,我不能使用remote连接远程仓库之后下拉啊。因为如果我能连上的话就意味着我能随意修改人家的代码。所以我肯定不能使用这样的方式pull代码啊!!!

所以得用git clone

2 git clone

git clone适用于本地没有代码,你要下载。

你连不连接远程仓库都可以,有无仓库权限皆可。

接上边的说,意识到使用git clone之后,我删除了刚才的HTTPS连接远程仓库,然后直接git clone,代码成功下载下来了???。
在这里插入图片描述

  1. 我删除了上边的https连接远程仓库的方法
  2. git remote -v用于查看你本地仓库都连接了哪些远程仓库,如果连接了会显示仓库代号和连接方式,我这里输出空白,就是没连接任何远程仓库的状态
  3. git clone下载代码成功了。

上边说的是别人的仓库,那如果是我有权限的仓库呢?

新建一个空白的本地仓库。直接用SSH clone能成功,那HTTPS必定成功。不用remote能成功,那用了remote也必定成功。(觉得这些稍微会用github的一般不用解释了,如果实在不明白评论区问我。)
在这里插入图片描述


我是萝莉安。今天又拿出勤时间写博客了。离谱。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162565.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ODPS double类型转型精度问题总结

    ODPS double类型转型精度问题总结简介:ODPSdouble类型转型精度问题总结从相差0.0000000000001说起,本文主要是对odps的Double和Decimal的精度使用问题做一个总结。1.问题描述客户开发人员在使用maxcompute对double数据类型求和时出现错误(数据表由oracle数据库抽取到maxcompute,对应字段类型为number到double),正确的结果是1943.38,但求和结果为1943.3799999999999,结果相差了0.0000000000001,这个…

    2022年7月20日
  • ADF检验「建议收藏」

    ADF检验「建议收藏」单位根检验是指检验序列中是否存在单位根,因为存在单位根就是非平稳时间序列了。单位根就是指单位根过程,可以证明,序列中存在单位根过程就不平稳,会使回归分析中存在伪回归。结果:(-0.04391111

    2022年8月1日
  • ssl数字证书是什么意思_数字证书的内容是

    ssl数字证书是什么意思_数字证书的内容是本文转自 http://seanlook.com/2015/01/15/openssl-certificate-encryption/SSL/TLS介绍见文章 SSL/TLS原理详解。如果你想快速自建CA然后签发数字证书,请移步 基于OpenSSL自建CA和颁发SSL证书 。首先简单区分一下HTTPS、SSL、OpenSSL三者的关系:SSL是在客户端和服务器之间建立

    2022年11月2日
  • 100道经典的c语言面试题[通俗易懂]

    100道经典的c语言面试题[通俗易懂]100条经典C语言笔试题目 题目来源:1、中兴、华为、慧通、英华达、微软亚洲技术中心等中外企业面试题目;2、C语言面试宝典(林锐《高质量编程第三版》)。说明:1、部分C语言面试题中可能会参杂部分和C++相关的知识,为了保持题目的灵活性故保留,但选题最终还是会以C语言题目为主体;2、以上公司的面试题目已成为国内中小型企业公司出题模板;3、由于本人的能力有限加上…

    2022年7月12日
  • 前端vue面试题2021_vue 面试题 2021

    前端vue面试题2021_vue 面试题 2021一.自我介绍(我是谁来自哪里,今天来的目的,面试的岗位是什么,几年的工作经验,掌握的技术栈有哪些,开发过什么项目,项目中负责的板块是什么)面试官您好!我叫XXX,来自XXX,很荣幸能来我们公司面试,我从事前端开发有3年了,目前掌握的技术有html,css,js,ajax,vue,小程序,参与过各种类型的项目。我做过的项目有A,B,C,D,E那么最近做的一个项目是XXX在这个项目中我主要负责的板块是XXX面试官您这边还有什么想要了解的么。二.项目功能提问vue后台项目(这几个功能点要求

    2022年9月8日
  • 《阿里巴巴Java开发手册》扫描插件正式发布–插件安装和使用分析

    本博文始发地址在公司论坛::《阿里巴巴Java开发手册》扫描插件正式发布–插件安装和使用分析“不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!”阿里巴巴于10月14日上午9:00在杭州云栖大会《研发效能峰会》上,正式发布《阿里巴巴Java开发手册》扫描插件。下面分享这个插件,希望更多的人使用,提高我们的代码/编码的规范!

    2022年2月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号