首页 开发工具 git Git教程之git pull和git clone的区别(总结分享)

Git教程之git pull和git clone的区别(总结分享)

Jan 10, 2022 pm 07:28 PM
git

本篇文章给大家带来了Git教程中git pull和git clone的区别相关知识,希望对大家有帮助。

Git教程之git pull和git clone的区别(总结分享)

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

1 git pull

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

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

1.1 我有权限的仓库

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

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

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

49.png

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

连接远程仓库

1.1.1 本地没代码

50.png

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

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

51.png

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

1.1.2 本地有代码

本地有代码是什么情况。

  • 团队合作,一个仓库多人使用

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

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

47.png

48.png

1.2 我没权限的仓库

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

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

今天我像往常一样去下载代码。但是这是我第一次下载别人的代码。

52.png

我像往常一样添加仓库链接,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密钥无法使用,让我确认我是否有权限访问或者这个仓库是不是存在。

仓库确实是存在的。所以肯定是我没有权限。

53.png

解释一下三步操作:

  • 添加远程仓库,用SSH连接

  • 从仓库master分支下拉代码

  • 删除我添加的远程仓库(既然不能用我当然删掉了)

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

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

54.png

我又添加了https的连接

第二步我又下拉的仓库

然后他又提示我:

fatal: unable to access 'github.com/hitvoice/Dr…': OpenSSL SSL_read: Connection was reset, errno 10054

意思还是我无法连接。

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

所以得用git clone

2 git clone

git clone适用于本地没有代码,你要下载。你连不连接远程仓库。有无仓库权限皆可。

接上边的说,意识到使用git clone之后,我删除了刚才的HTTPS连接远程仓库,然后直接git clone,代码成功下载下来了。

55.png

我删除了上边的https连接远程仓库的方法

git remote -v用于查看你本地仓库都连接了哪些远程仓库,如果连接了会显示仓库代号和连接方式,我这里输出空白,就是没连接任何远程仓库的状态

git clone下载代码成功了。

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

新建一个本地仓库。很明显是成功的。SSH能成功,那HTTPS必定成功。不用remote能成功,那用了remote也必定成功。

56.png

推荐学习:《Git教程

以上是Git教程之git pull和git clone的区别(总结分享)的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

h5项目怎么运行 h5项目怎么运行 Apr 06, 2025 pm 12:21 PM

运行 H5 项目需要以下步骤:安装 Web 服务器、Node.js、开发工具等必要工具。搭建开发环境,创建项目文件夹、初始化项目、编写代码。启动开发服务器,使用命令行运行命令。在浏览器中预览项目,输入开发服务器 URL。发布项目,优化代码、部署项目、设置 Web 服务器配置。

H5页面制作可以自学吗 H5页面制作可以自学吗 Apr 06, 2025 am 06:36 AM

H5页面制作自学可行,但并非速成。它需要掌握HTML、CSS和JavaScript,涉及设计、前端开发和后端交互逻辑。实践是关键,通过完成教程、查阅资料、参与开源项目来学习。性能优化也很重要,需要优化图片、减少HTTP请求和使用合适框架。自学之路漫长,需要持续学习和交流。

Bootstrap修改后如何查看结果 Bootstrap修改后如何查看结果 Apr 07, 2025 am 10:03 AM

查看修改后 Bootstrap 结果的步骤:直接在浏览器中打开 HTML 文件,确保 Bootstrap 文件已正确引用。清除浏览器缓存(Ctrl Shift R)。若使用 CDN,可直接在开发者工具中修改 CSS 以实时查看效果。若修改 Bootstrap 源码,下载并替换本地文件,或使用构建工具(如 Webpack)重新运行构建命令。

vue分页怎么用 vue分页怎么用 Apr 08, 2025 am 06:45 AM

分页是一种将大数据集拆分为小页面的技术,提高性能和用户体验。在 Vue 中,可以使用以下内置方法进行分页:计算总页数:totalPages()遍历页码:v-for 指令设置当前页:currentPage获取当前页数据:currentPageData()

HadiDB:Python 中的轻量级、可水平扩展的数据库 HadiDB:Python 中的轻量级、可水平扩展的数据库 Apr 08, 2025 pm 06:12 PM

HadiDB:轻量级、高水平可扩展的Python数据库HadiDB(hadidb)是一个用Python编写的轻量级数据库,具备高度水平的可扩展性。安装HadiDB使用pip安装:pipinstallhadidb用户管理创建用户:createuser()方法创建一个新用户。authentication()方法验证用户身份。fromhadidb.operationimportuseruser_obj=user("admin","admin")user_obj.

使用 Prometheus MySQL Exporter 监控 MySQL 和 MariaDB Droplet 使用 Prometheus MySQL Exporter 监控 MySQL 和 MariaDB Droplet Apr 08, 2025 pm 02:42 PM

有效监控 MySQL 和 MariaDB 数据库对于保持最佳性能、识别潜在瓶颈以及确保整体系统可靠性至关重要。 Prometheus MySQL Exporter 是一款强大的工具,可提供对数据库指标的详细洞察,这对于主动管理和故障排除至关重要。

如何查看Bootstrap的JavaScript行为 如何查看Bootstrap的JavaScript行为 Apr 07, 2025 am 10:33 AM

Bootstrap 的 JavaScript 部分提供交互组件,赋予静态页面活力。通过查看开源代码,可以理解其工作原理:事件绑定触发 DOM 操作和样式变化。基本用法包括引入 JavaScript 文件和使用 API,高级用法涉及自定义事件和扩展功能。常见问题包括版本冲突和 CSS 样式冲突,可通过仔细检查代码解决。性能优化技巧包括按需加载和代码压缩。掌握 Bootstrap JavaScript 的关键在于理解其设计理念、结合实践应用、利用开发者工具调试和探索。

git和github相同吗? git和github相同吗? Apr 08, 2025 am 12:13 AM

Git和GitHub不是同一回事。Git是版本控制系统,GitHub是基于Git的代码托管平台。Git用于管理代码版本,GitHub提供在线协作环境。

See all articles