【Git】本地仓库管理远程库(GitHub)——clone(下载)、commit(添加到本地仓库)、push(提交到远程仓库)、pull(拉取)操作

news2024/11/18 14:42:41
目录
  • 使用远程仓库的目的
  • 将本地仓库同步到git远程仓库
    • 1.克隆远程仓库(clone)
    • 2.新建一个文件
    • 3.将工作区的文件添加到暂存区
    • 4.将暂存区的文件添加到本地仓库(commit)
    • 5.提交(同步)到远程仓库(push)
    • 6.远程库拉取到本地库(pull)
    • 7.团队协作开发和跨团队协作开发(开源项目)

使用远程仓库的目的

作用:备份,实现代码共享集成化管理
在这里插入图片描述

将本地仓库同步到git远程仓库

在这里插入图片描述

1.克隆远程仓库(clone)

1.目的

将远程仓库(GitHub对应的项目)下载到本地

2.复制

git  clone  仓库地址

仓库地址获取(这里我下载OpenCV):
在这里插入图片描述
在这里插入图片描述
速度还挺快的哈,每秒4M多呢!以后可以用这种方法下载文件了。

我再下载自己的仓库
在这里插入图片描述

在这里插入图片描述
这里我下载了好几次才成功。

2.新建一个文件

在这里插入图片描述

3.将工作区的文件添加到暂存区

git  add  hello.c 

在这里插入图片描述

4.将暂存区的文件添加到本地仓库(commit)

git  commit  -m  "提交描述"

在这里插入图片描述

5.提交(同步)到远程仓库(push)

git push 

在这里插入图片描述
添加成功

如果提示:The requested URL returned error: 403 Forbidden while accessing等
答案:私有项目,没有权限,输入用户名密码,或者远程地址采用这种类型
vi .git/config
将url => https://github.com/用户名/仓库名.git
修改为: url => https://用户名:密码@github.com/用户名/仓库名.git

6.远程库拉取到本地库(pull)

这部分摘自这篇博文:https://xiongyiming.blog.csdn.net/article/details/106153902

远程库拉取(pull)到本地库命令格式为: git pull origin master ,origin为远程库地址的别名。

将远程库文件更新到本地库,本地工作区文件将会更新,如果本地有和远程库同名的文件,将会强制更新本地库文件。

例如新建test_pull文件,新建123.txt文件,然后提交到本地库,如下图所示:

在这里插入图片描述


将远程库地址更改别名(git remote add origin 远程库地址),然后执行命令:git pull origin master

在这里插入图片描述


此时发现,pull失败,因为本地库有和远程库不相同的文件,此时可以通过命令:git pull origin master --allow-unrelated-histories 强制拉取(pull)

在这里插入图片描述


下面将本地库文件全部推送到远程库,命令为:git push origin master ,结果如下图所示

在这里插入图片描述


此时刷新网页,查看GitHub仓库中123.txt文件成功的从本地库提交到远程库,如下图所示:

在这里插入图片描述


假设在GitHub仓库中更改文件内容,此时本地库内容没有变,现在然后从将远程库拉取(pull)到本地库,看看会不会强制更新本地库文件内容。

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


由上图可以看出,远程库123.txt文件被修改,此时将远程库拉取到本地库,执行命令:git pull origin master ,结果如下图所示,本地库123.txt文件被更新了。

在这里插入图片描述


当然也可以通过命令: git fetch origin master 将远程库文件抓取到本地库缓存区,此时本地库和工作区文件并没有被合并,
通过命令:git checkout origin/master 切换到本地库缓存的分支上,然后通过命令: cat 文件名 来查看文件内容

接下来可以将缓存区分支文件和本地库文件进行合并,通过命令:git checkout master切换到本地库分支上,然后再将缓存区的分支合并到本地库:命令为:git merge origin/master

注: pull操作相当于 fetch + merge 操作。关于git pull命令和git fetch命令的区别可以参见博客

  1. git fetch和git pull之间的区别
  2. git pull 和 git fetch的区别?



7.团队协作开发和跨团队协作开发(开源项目)

团队协作开发和跨团队协作开发(开源项目)可以参考之前的博客:GitHub协作开发项目

其实重点是远程仓库和本地仓库之间的推送(push)操作和拉取(pull)操作,因为在这个过程中可能出现远程库文件和本地库文件不相同,这是需要自己去判断。具体的问题在实际操作中可能会遇到,等遇到了这些问题在更新自己的笔记。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1384911.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PTA(浙大版《C语言程序设计(第3版)》题目集

PTA(浙大版《C语言程序设计(第3版)》题目集 学习C语言程序设计的PTA题目 目录 PTA(浙大版《C语言程序设计(第3版)》题目集PTA(浙大版《C语言程序设计(第3版)》题目集) 习题2-1 求整数均值 (10 分)输入格式:…

大型语言模型综述/总结 LLM A Survey of Large Language Models

A Survey of Large Language Model AbstractINTRODUCTIONOVERVIEW背景LLM的新兴能力LLM的关键技术GPT 系列模型的技术演进 大语言模型资源公开可用的模型检查点或 API常用语料库代码库资源 预训练数据收集架构 论文标题:A Survey of Large Language Model 论文地址&…

电子学会C/C++编程等级考试2023年09月(五级)真题解析

C/C++编程(1~8级)全部真题・点这里 第1题:红与黑 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。 时间限制:1000 内存限制:65536 输入 包括多…

Linux的SSH远程管理和服务器之间的免密连接

目录 一、远程管理基础 1.ssh协议 2.ssh原理 3、使用ssh协议传输的命令 4.登录方法 二、免密连接 1.免密连接的原理 2.实战 一、远程管理基础 1.ssh协议 ssh协议是基于C/S机构的安全通道协议,通信数据进行加密处理,用于远程管理。 ssh的服务名…

Python文件读写与字符编码详解【第25篇—python基础知识】

文章目录 文件读写和字符编码在Python中的实现一、I/O操作概述二、文件读写实现原理与操作步骤1. 文件读写实现原理2. 文件读写操作步骤 三、文件打开模式四、Python文件操作步骤示例五、文件读取相关方法1. 读取指定长度的内容2. 读取文件中的一行内容3. 遍历打印一个文件中的…

Zookeeper使用详解

介绍 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布…

【搭建个人知识库-3】

搭建个人知识库-3 1 大模型开发范式1.1 RAG原理1.2 LangChain框架1.3 构建向量数据库1.4 构建知识库助手1.5 Web Demo部署 2 动手实践2.1 环境配置2.2 知识库搭建2.2.1 数据收集2.2.2 加载数据2.2.3 构建向量数据库 2.3 InternLM接入LangChain2.4 构建检索问答链1 加载向量数据…

鸿蒙应用开发学习:让page页面强制横屏

一、学习做了个适合横屏的页面但进入页面后是竖屏显示的 前几天在B站上跟着 黑马程序员的 HarmonyOS4.0开发应用教学视频学习了显式动画(animateTo)和属性动画(animation)功能,并参照教学视频的内容做了个小鱼动画。…

基于MOD02/MYD02获得亮度温度再转冰温

用HEG处理MOD02/MYD02,提取里面的EV_1KM_Emissive波段,band为11和12(其实就是band 31和32)。注意这里的band和output dile type 1. 获得之后,转辐射亮度。 参考:https://www.cnblogs.com/enviidl/p/16539422.html radiance_scales,和radiance_offset这两项参数代表波段…

实现STM32烧写程序-(4) BIN文件结构

简介 BIN文件是一种二进制文件格式,用于存储和传输二进制数据。它包含了计算机或设备可以直接读取和执行的原始二进制数据。BIN文件通常用于存储程序、固件或其他二进制数据,例如嵌入式系统的固件、操作系统的映像文件等。 BIN文件的起源可以追溯到计算机…

学习Vue配置代理总结

今天学习了Vue的配置代理,当我们想要向服务器取回来数据时就先要向服务器发送请求,但前端发送请求的方式也有很多种,首先是发送请求的鼻祖JS的XMLHttpRequest(xhr),它操作起来相对麻烦,开发中也…

mysql5.7之从入门到放弃

系列文章目录 第一章 MySQL5.7之从入门到放弃 第二章 MySQL从入门到放弃之数据库体系结构与管理 第三章 MySQL基础应用之DDL、DCL、DML、DQL 第四章 MySQL之多表连接查询、AS别名、扩展内容 文章目录 系列文章目录前言一、Mysql的介绍和安装?1、什么是数据&#xf…

SqlAlchemy使用教程(二) 入门示例及编程步骤

SqlAlchemy使用教程(一) 原理与环境搭建SqlAlchemy使用教程(三) CoreAPI访问与操作数据库详解 二、入门示例与基本编程步骤 在第一章中提到,Sqlalchemy提供了两套方法来访问数据库,由于Sqlalchemy 官方文档结构有些乱,对于ORM的使用步骤的描…

【生存技能】git操作

先下载git https://git-scm.com/downloads 我这里是win64,下载了相应的直接安装版本 64-bit Git for Windows Setup 打开git bash 设置用户名和邮箱 查看设置的配置信息 获取本地仓库 在git bash或powershell执行git init,初始化当前目录成为git仓库…

【Unity】【VRTK】【Pico】如何快速在VRTK中引入带动画的PICO控制器

【背景】 之前的VRTK篇章中,我只介绍了Oculus,Open VR,SImulator这三种Rig的配置方法,那么Pico如何融合VRTK进行开发呢? 【需要的开发包】 先像一个正常PICO项目那样导入PICO的SDK到Unity。VRTK 4的Package导入器中搜Pico,可以导入一个Pico的Integration,导入后Projec…

NLP论文阅读记录 - 2021 | WOS 智能树提取文本摘要深度学习

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.前提三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 An Intelligent Tree Extractive Text Summarization Deep Learning …

NAT技术的原理、和实现方式介绍

目 录 一、关于内外网的网络问题 1、内网 2、外网 3、如何实现内网访问外网 4、外网如何访问公司内部的一个服务器? 二、NAT技术简介 三、NAT技术的基本原理。 四、内部网实现NAT的常用方式 1.静态转换 2.动态转换 3.端口多路复用(Por…

人工智能主流技术详解

人工智能(Artificial Intelligence,简称AI)是当今科技领域发展最迅速、最令人振奋的分支之一。本文将带您深入了解人工智能的主流技术,探索AI如何影响我们的生活、工作以及未来的发展。 一、什么是人工智能? 人工智能&…

SpringBoot+SSM项目实战 苍穹外卖(11) Apache ECharts

继续上一节的内容,本节学习Apache ECharts,实现营业额统计、用户统计、订单统计和销量排名Top10功能。 数据统计效果图: 目录 Apache ECharts入门案例 营业额统计用户统计订单统计销量排名Top10 Apache ECharts Apache ECharts 是一款基于 …

微信小程序(一)简单的结构及样式演示

注释很详细&#xff0c;直接上代码 涉及内容&#xff1a; view和text标签的使用类的使用flex布局水平方向上均匀分布子元素垂直居中对齐子元素字体大小文字颜色底部边框的宽和颜色 源码&#xff1a; index.wxml <view class"navs"><text class"active…