【Git系列】Git到远程仓库

🐳Git到远程仓库

    • 🧊1. github账号注册
    • 🧊2. 初始化本地仓库
    • 🧊3. 创建GitHub远程仓库
    • 🧊4. 给本地仓库起别名
      • 🪟4.1 查看远程库的连接地址
      • 🪟4.2 起别名
    • 🧊5. git推送操作
    • 🧊6. git克隆操作
    • 🧊7. 邀请加入团队_push
      • 🪟7.1 未加入团队push
      • 🪟7.2 加入团队push
    • 🧊8. 拉取远程仓库
      • 🪟8.1 fetch+merge
      • 🪟8.2 pull
    • 🧊9. 协同开发冲突解决
      • 🪟9.1 制造冲突
      • 🪟9.2 解决冲突


远程仓库有两种:一种是gitee(国内),一种是github(国外),在这里我们以github为例进行讲解

🧊1. github账号注册

github官网: https://github.com/

进入首页,点击 Sign up按钮

image-20230706221854287

进入到注册页面,填写注册信息

image-20230706221912143

注册完成后,就可以登录了

点击首页 Sign in进行登录

image-20230706221926617

🧊2. 初始化本地仓库

不管使用远程仓库还是在本机上操作,还是团队内部协作都是需要先初始化本地仓库。

在D盘下,创建一个文件夹名为:github_res,将创建一个文件,完成add commit操作

image-20230706222020124

🧊3. 创建GitHub远程仓库

如果是第一次使用github,我们需要登录的注册邮箱账号,进行验证,才可以使用,验证完之后,会弹出以下界面我们选择,创建第一个仓库

image-20230706222051504

如果不是第一次使用,登录成功后我们点击右上角 + 号进行创建仓库

image-20230706222103981

在以下界面填写仓库信息

image-20230706222113226

image-20230706222138056

🧊4. 给本地仓库起别名

🪟4.1 查看远程库的连接地址

在刚刚我们创建成功页面,就已经显示了我们远程仓库的地址了

image-20230706222219976

也可以从github首页中,查看某个库的连接地址

image-20230706222229569

🪟4.2 起别名

远程仓库的地址:https://github.com/zjl-zhangjilu/github_res.git名字太长,如果我们每次提交文件,都要输入这么长的地址,是不是太麻烦?我们就用起别名的方式解决这个问题!

  • 查看当前库的别名
git remote -v

image-20230706222304313

当前是没有任何别名的

  • 起别名
git remote add 别名名称 远程仓库地址

image-20230706222318877

* feth: 代表可以从该地址获取文件
* push: 代表可以从该地址推送文件

🧊5. git推送操作

在本地仓库中的文件上传到远程仓库中,这就是推送

$ git push 远程仓库别名 分支

在控制台上输入命令

$ git push origin master

出现以下界面输入github的用户名和密码,最后点击Login

image-20230706222352011

稍等片刻,会出现以下OpenSSH界面,输入github的用户名密码

image-20230706222415205

最后提交成功

image-20230706222424195

查看github已经将本地仓库中的内容推送到了github上了

image-20230706222435539

🧊6. git克隆操作

将远程仓库中的内容拉取到本地仓库中,这就是克隆操作

git clone 远程仓库地址

注意:克隆操作可以帮我们完成三件事情

  • 初始化本地仓库

  • 将远程库内容完整的克隆到本地

  • 替我们创建远程库的别名

    image-20230706222531053

🧊7. 邀请加入团队_push

在实际开发中,我们都是以团队为单位进行项目开发,团队中的每一个人功能代码写完之后,都是要上传到远程仓库中的,如果该团队中的成员没有加入到团队,是不能进行代码提交等操作的。

image-20230706222602563

🪟7.1 未加入团队push

在本地仓库github_res中,创建test1.txt文件,并添加内容

image-20230706222613105

将test1.txt文件,添加暂存区和本地仓库中

image-20230706222626711

将test1.txt文件推送到远程库中

image-20230706222643637

image-20230706222655640

文件虽然我们提交上去了,感觉那里不对? 现在我们所站在的角色是团队内的普通成员,团队内的成员要想提交文件,必须我们要进行加入团队,才能提交文件,而现在我们根本没有邀请,反而也能提交文件,这是不可行的!

🪟7.2 加入团队push

清理缓存

​ 当我们使用其他成员的身份进行push操作时,由于我们使用的是同一台电脑,并没有让我们输入用户名和密码,这是由于在我们本地电脑上有对github用户名和密码的缓存,所以下面我们将缓存清楚掉!

image-20230706222825049

image-20230706222836947

加入团队

  • 在工作区中新建文件,并录入一些内容,提交到暂存区和工作区中

image-20230706222903972

image-20230706222913539

  • 提交到远程仓库中

    image-20230706222929307

    此时就让我们输入用户名和密码,这个时候就要输入另外一个成员的github的用户名和密码

    image-20230706222945648

    输入完用户名和密码之后,发现提交失败,是因为当前github账号(5155xxx@qq.com)没有加入到团队,下面我们就要将5155xxx@qq.com,账号的成员加入到团队中

  • 加入到团队操作

假设当前的账号(4593xxx@qq.com)是项目经理,要邀请成员(5155xxx@qq.com),加入到团队。

首先登录项目经理的github账号。

image-20230706223008121

image-20230706223019498

输入要添加成员的用户名

image-20230706223034197

点击邀请

image-20230706223047946

在邀请列表中,选择要加入团队的成员

image-20230706223059358

复制邀请链接

image-20230706223112987

邀请链接:https://github.com/zjl-zhangjilu/github_res/invitations

退出当前项目经理账号,登录成员账号,并在当前地址栏中,粘贴邀请连接

image-20230706223124893

被邀请成员,接收邀请

image-20230706223137446

使用普通成员账号push操作

github账号需要切换到项目经理的账号进行登录,进行再次的push操作,输入普通成员的github账号

image-20230706223158795

push成功

image-20230706223209798

查看远程仓库

image-20230706223217653

image-20230706223224846

发现他们都看到有三个文件,团队协作操作成功!!!

🧊8. 拉取远程仓库

从远程仓库中将文件拉取到本地仓库中,其实就是fetch(拉取)和merge(合并)

image-20230706223244996

🪟8.1 fetch+merge

如果代码比较多,也为了保险起见是不是我想要的内容,可以使用fetch+merge操作

查看远程库的内容是否更新

image-20230706223252207

image-20230706223340478

将远程仓库中的内容拉取到本地

$ git fetch 远程仓库名称 远程仓库对应的分支

image-20230706223350508

注意:拉取只是将远程仓库中的文件下载到了本地上,但是工作区中的文件并没有更新,还是原先的内容

image-20230706223403609

抓取后,可以切换到远程仓库中查看内容是否正确

image-20230706223413367

image-20230706223420623

image-20230706223428471

内容正确,进行合并操作

image-20230706223439892

合并(merge):git merge origin/master

image-20230706224048037

查看工作区中文件内容是否更新

image-20230706224056201

🪟8.2 pull

如果代码简单,想省事也不需要考虑内容是否正确,可以使用pull操作

image-20230706224111424

🧊9. 协同开发冲突解决

当多个用户操作同一个文件中的同一行数据,会造成冲突,下面我们就解决这个问题。

image-20230706224134265

🪟9.1 制造冲突

以公司项目经理角色,在github_res库中,创建文件,并保存内容,进行add commit和推送到远程库中操作。

提交文件到远程仓库【项目经理】

image-20230706224247680

拉取文件【普通成员】

在这里,切换本地仓库,或者自己创建一个新的仓库【github_res1】。进行演示,今天我重新创建一个新库,进行拉取远程仓库中的数据。

image-20230706224303613

到目前为止还没有产生冲突,因为还没有对同一个文件进行操作。

修改文件进行提交【普通成员】

提前清除掉电脑中github的账号和密码的缓存,使用5155xxx账号进行登录,提交数据。

image-20230706224314780

image-20230706224326346

image-20230706224335219

修改文件并提交【项目经理】

使用项目经理的的角色修改github_res库的demo.txt文件,并提交到远程仓库中

注意:提前清除掉电脑中github的账号和密码的缓存,使用4593xxx账号进行登录,提交数据

image-20230706224347337

image-20230706224355712

image-20230706224404273

这时,我们提交出错了,提交不上去,是因为有冲突。

🪟9.2 解决冲突

在这种情况下,我们先进行拉取远程仓库中的内容,再进行推送到服务器。即可解决冲突的问题。

拉取远程仓库中的文件

以项目经理为角色进行拉取文件

image-20230706224423188

查看拉取后的demo.txt文件内容

image-20230706224432726

人为解决冲突

要那一个和不要那一个,根据情况而定。在这里我们都留着。

image-20230706224515376

解决完冲突完之后,推送到服务器

image-20230706224444132

image-20230706224532622

查看远程仓库文件

image-20230706224540741

image-20230706224546456


请添加图片描述

一、了解什么是版本控制

二、Git概述

三、Git下载与安装教程

四、Git相关命令

五、Git分支操作

六、Git到远程仓库

七、Git配置SSH免密登录

八、IDEA集成Git


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

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

相关文章

k8s集群中安装kibana 7.x 踩坑

1. FATAL ValidationError: child "server" fails because [child "port" fails because ["port" must be a number]] 解决办法: 在环境变量中指定端口: - name: SERVER_PORTvalue: 5601 2. Kibana FATAL Error: [elast…

揭秘!头条百科词条创建全过程及技巧解析

随着互联网时代的到来,人们获取信息的方式越来越便捷。作为国内领先的信息平台,头条百科成为了很多人查阅知识的首选。然而,如何在头条上创建百科词条,让更多人了解和熟知自己呢?本文伯乐网络传媒将为您揭开这个谜团&a…

英语疑问句

文章目录 一般疑问句特殊疑问句 一般疑问句 英语肯定句怎么改成一般疑问句? 1.假如句子中有"情态动词、助动词、be动词"则直接提前。2.假如句子,只有实义动词,就要借助"do,does,did"放在句子前面,并将实义动词改为"…

VUE3-03

1.Composition API(其他部分) 1.1 shallowReactive与shallowRef shallowReactive : 只处理了对象内最外层属性的响应式(也就是浅响应式)shallowRef: 只处理了value的响应式, 不进行对象的reactive处理 应用场景: 如果有一个对象数据, 结构比较深, 但变化时只是…

基于C语言 --- 自己写一个三子棋小游戏

C语言程序设计笔记---019 初阶三子棋小游戏(开源)1、arr_main.c程序大纲2、arr_game1.h3、arr_game1.c3.1、 自定义初识化函数 InitBoard( ) 和 自定义显示函数 DisPlayBoard( )3.2、 自定义玩家下棋函数 PlayerMove( )3.4、 自定义电脑下棋函数 ComputerMove( )3.5、 输赢判断…

反射简述

什么是反射反射在java中起到什么样的作用获取class对象的三种方式反射的优缺点图 什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性&…

自然语言处理学习笔记(一)————概论

目录 1.自然语言处理概念 2.自然语言与编程语言的比较 (1)词汇量: (2)结构化: (3)歧义性: (4)容错性: (5&#xff0…

LabVIEW FPGA开发实时滑动摩擦系统

LabVIEW FPGA开发实时滑动摩擦系统 由于非线性摩擦效应的建模和补偿的固有困难,摩擦系统的运动控制已被广泛研究。最近,人们更加关注滑动动力学和滑动定位,作为传统机器人定位的低成本和更灵活的驱动替代方案。摩擦控制器设计和适当选择基础…

vue中实现视频播放

一:方法一 main.js中引入并且定义全局变量 //Video.js 视频配件 import Video from video.js import video.js/dist/video-js.css Vue.prototype.$video Video import * as echarts from echarts //引入Echarts, Vue.prototype.$echarts echarts /…

【LeetCode】200.岛屿数量

题目 给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的…

【机器学习】Overfitting and Regularization

Overfitting and Regularization 1. 过拟合添加正则化2. 具有正则化的损失函数2.1 正则化线性回归的损失函数2.2 正则化逻辑回归的损失函数 3. 具有正则化的梯度下降3.1 使用正则化计算梯度(线性回归 / 逻辑回归)3.2 正则化线性回归的梯度函数3.3 正则化…

解决python-opencv:(-215:Assertion failed) _img.empty() in function ‘cv::imwrite‘在将视频分成帧图片,写入时出现的问题

最近在搞视频检测问题,在用到将视频分帧保存为图片时,图片可以保存,但是会出现(-215:Assertion failed) !_img.empty() in function cv::imwrite问题而不能正常运行,在检查代码、检查路径等措施均无果后,了解了视频分帧…

linux实现运行java分包部署

1.打好包之后 找到bin文件夹下的 startup.sh文件 2.cd 进入bin文件夹下 3.执行 sh startup.sh 运行命令 4.如果出现此错误 是Windows和Linux的.sh脚本文件格式不同,如果在脚本中有空行,脚本是在Windows下进行编辑之后上传到linux上去执行的话&#xff0c…

探究HTTP代理爬虫的反爬虫策略

在当前信息爆炸的时代,海量的数据成为了企业发展和决策的关键资源。然而,越来越多的网站为了保护数据和用户隐私的安全,采取了各种反爬虫策略。作为一家专业的HTTP代理产品供应商,我们一直在研究和优化反爬虫策略,为用…

JVM系统优化实践(23):GC生产环境案例(6)

您好,这里是「码农镖局」CSDN博客,欢迎您来,欢迎您再来~ 在互联网大厂中,对每天亿级流量的日志进行清洗、整理是非常常见的工作。在某个系统中,需要对用户的访问日志做脱敏处理,也就是清洗掉姓名…

fwft fifo和standard fifo

fifo共有两种,分别是standard fifo和fwft fifo,其中,前者的latency=1,即rd_en信号有效且fifo非空时,数据会在下一个周期出现在fifo的读数据端口。而后者,即fwft fifo的latency=0,也就是说,rd_en信号有效的当拍,数据就会出现在读端口上。这里,fwft是First-word-Fall-T…

【Spring Cloud】Gateway的配置与使用

文章目录 前言第一步,创建一个springboot工程第二步,添加依赖第三步,编写yml文件第四步,启动主启动类总结 前言 Gateway其实是springcloud 原生的东西,但是我还是想放在这里讲,因为我们使用nacos时&#x…

IPsec VPN小实验

IPSec 是什么: IPSec是一个框架,它不是具体指某个协议,而是定义了一个框架,由各种协议组和协商而成。该框架涉及到的主要有加密算法、验证算法、封装协议、封装模式、密钥有效期等等。 IPSecVPN建立的前提:要想在两个…

【Lua学习笔记】Lua进阶——垃圾回收

按照唐老师的课程本来要讲自带库的,但是想想这东西能看文档,ctrl左键还能看注解,并且最重要的许多自带库的方法基本大部分语言都有,其实看看就能懂了。所以还是重点讲讲垃圾回收 文章目录 GC辅助垃圾回收collectgarbage增量模式分…

Elasticsearch Query DSL

Elasticsearch Query DSL 这里使用的 Elasticsearch 的版本为 7.12.1。 1、基本概念 1.1 文档(Document) ElasticSearch 是面向文档的,文档是所有可搜索数据的最小单位,例如 MySQL 的一条数据记录。 文档会被序列化成为 json 格式,保存在…