git pull和git clone的区别详解

 更新时间:2023年07月07日 11:12:10   作者:Ann's Blog  
本文主要介绍了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吗?”

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

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

1.1.1 本地没代码

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

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

空白仓库直接使用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密钥无法使用,让我确认我是否有权限访问或者这个仓库是不是存在。仓库确实是存在的。所以肯定是我没有权限。

解释一下三步操作:

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

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

既然仓库所有者才能用SSH,那我换HTTP不就行了。(此时我还没意识到问题的严重性😓)

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

然后他又提示我:

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,代码成功下载下来了😎😎😎。

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

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

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

到此这篇关于git pull和git clone的区别详解的文章就介绍到这了,更多相关git pull和git clone内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • zend stdio8.0 快捷键汇总集合

    zend stdio8.0 快捷键汇总集合

    接下来小编就为大家介绍一下在Zend Stdio 8.0版本中的快捷键汇总。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10
  • Jenkins定时构建语法规则及时间设置

    Jenkins定时构建语法规则及时间设置

    这篇文章主要为大家介绍了Jenkins定时构建时间设置,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Git 教程之远程仓库详解

    Git 教程之远程仓库详解

    本文主要介绍Git 远程仓库的知识,这里整理了相关资料,及命令详解,图文并茂的介绍该部分内容,有需要的小伙伴可以参考下
    2016-09-09
  • 在Git中撤消更改的六种方法总结

    在Git中撤消更改的六种方法总结

    这篇文章主要介绍了Git中常用的6种撤消更改的方法,包括git amend、git reset、git rebase、git revert和git checkout等,通过这些命令,可以方便地处理项目代码管理中的错误操作或需求变更,需要的朋友可以参考下
    2024-12-12
  • 分享几个新增备案不关站的代码

    分享几个新增备案不关站的代码

    这篇文章主要介绍了分享几个新增备案不关站的代码,需要的朋友可以参考下
    2015-01-01
  • 使用 Loki 实现 Kubernetes 容器日志监控的方法

    使用 Loki 实现 Kubernetes 容器日志监控的方法

    Loki 是由 Grafana Labs 团队开发的,基于 Go 语言实现,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,这篇文章主要介绍了使用 Loki 实现 Kubernetes 容器日志监控的相关知识,感兴趣的朋友一起看看吧
    2022-05-05
  • JSON数据格式化方法详细介绍

    JSON数据格式化方法详细介绍

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,基于JavaScript编程语言的一个子集,它已经成为一个完全独立于语言的文本格式,被广泛采用和应用于多种编程境中,需要的朋友可以参考下
    2024-09-09
  • git切换到指定远程分支的方法

    git切换到指定远程分支的方法

    这篇文章主要介绍了git切换到指定远程分支的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • vscode如何安装汉化和Python智能感知

    vscode如何安装汉化和Python智能感知

    VSCode(VisualStudioCode)是由微软研发的一款免费、开源的跨平台文本(代码)编辑器,算是目前前端开发几乎完美的软件开发工具。今天我们来看看它如何使用呢
    2020-01-01
  • VSCode程序猿彩虹屁插件rainbow fart体验篇

    VSCode程序猿彩虹屁插件rainbow fart体验篇

    这篇文章主要介绍了VSCode程序猿彩虹屁插件rainbow fart体验,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06

最新评论