【Git系列】Git到远程仓库

news/2024/4/29 4:03:47/文章来源:https://blog.csdn.net/mjh1667002013/article/details/132031495

🐳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.luyixian.cn/news_show_338052.aspx

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

相关文章

WAF绕过-信息收集篇

WAF绕过主要集中在信息收集,漏洞发现,漏洞利用,权限控制四个阶段。 1、什么是WAF? Web Application Firewall(web应用防火墙),一种公认的说法是“web应用防火墙通过执行一系列针对HTTP/HTTPS的安…

【模仿学习】:离线和在线模仿

一、说明 模仿学习(Imitation Learning )是机器学习的一种,代理通过观察和模仿专家的行为来学习。在这种方法中,为代理提供了一组所需行为的演示或示例,并通过尝试复制专家的行为来学习输入观察和输出操作之间的映射。…

安装win版本的neo4j(2023最新版本)

安装win版本的neo4j 写在最前面安装 win版本的neo4j1. 安装JDK2.下载配置环境变量(也可选择直接点击快捷方式,就可以不用配环境了)3. 启动neo4j 测试代码遇到的问题及解决(每次环境都太离谱了,各种问题)连接…

【linux 结束pts/1踢人踢除另一个终端】

centos7上误执行了个命令,导致一直刷屏,强制CTRLC无法正常退出,一直出现如下: 网上搜索通过ctrlD,q均无法正常退出, 不想强行关掉,通过:who命令查看均用户: who mshns…

java 企业工程管理系统软件源码+Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis

 Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个&am…

从 0 到 1!得物如何打造通用大模型训练和推理平台

1.背景 近期,GPT 大模型的发布给自然语言处理(NLP)领域带来了令人震撼的体验。随着这一事件的发生,一系列开源大模型也迅速崛起。依据一些评估机构的评估,这些开源模型大模型的表现也相当不错。一些大模型的评测情况可…

【ChatGPT辅助学Rust | 基础系列 | 基础语法】变量,数据类型,运算符,控制流

文章目录 简介:一,变量1,变量的定义2,变量的可变性3,变量的隐藏 二、数据类型1,标量类型2,复合类型 三,运算符1,算术运算符2,比较运算符3,逻辑运算…

算法通过村第二关-链表白银笔记|指定区间反转

文章目录 前言链表反转|指定区间内头插法:穿针引线法: 总结 前言 提示:人啊,果然跟花一样,开花前的等待无比漫长,绽放的魅力却转瞬即逝。 链表反转|指定区间内 参考题目:92. 反转链表 II - 力…

超详细 | 模拟退火算法及其MATLAB实现

模拟退火算法(simulated annealing,SA)是20世纪80年代初期发展起来的一种求解大规模组合优化问题的随机性方法。它以优化问题的求解与物理系统退火过程的相似性为基础,利用Metropolis算法并适当地控制温度的下降过程实现模拟退火,从而达到求解…

IO流简述

IO流IO流使用场景 什么是IO流常用的IO流字节流字符流缓冲流 BIO、NIO、AIO的区别 IO流 IO流使用场景 如果操作的是纯文本文件,优先使用字符流如果操作的是图片、视频、音频等二进制文件。优先使用字节流如果不确定文件类型,优先使用字节流。字节流是万能…

vue2实现一个树型控件(支持展开树与checkbox勾选)

目录 vue2实现一个树型控件(支持展开树与checkbox勾选)TreeItem.vueTree.vue效果 vue2实现一个树型控件(支持展开树与checkbox勾选) TreeItem.vue <template><div class"tree-item"><span click"toggleExpanded" class"icon" v…

如何将论文中的字快速复制出来?图片如何提取文字?

在日常的办公中&#xff0c;我们经常会遇到需要将纸质文件里的文字提取出来&#xff0c;再转换为电子档的情况&#xff0c;如果我们采用手动输入的话&#xff0c;不仅速度太慢&#xff0c;而且还可能因此耽误到后边的工作&#xff0c;是不是已经有小伙伴遇到这种现象&#xff0…

Redis以及Java使用Redis

一、Redis的安装 Redis是一个基于内存的 key-value 结构数据库。 基于内存存储&#xff0c;读写性能高 适合存储热点数据&#xff08;热点商品、资讯、新闻&#xff09; 企业应用广泛 官网&#xff1a;https://redis.io 中文网&#xff1a;https://www.redis.net.cn/ Redis…

mysql的日期类型的数据转换为年或者月类型的统计

SELECT CONCAT(YEAR(DATE), if (MONTH(DATE)<10,CONCAT(0,MONTH(DATE)),MONTH(DATE))) AS date , round(SUM(capacity),2) AS ca_dsoc FROM dianchi4 where date > 20211231 GROUP BY YEAR(DATE), MONTH(DATE) 月度的跨年处理就是第一个

文本怎么用手机生成二维码?二维码在线文本码制作技巧

现在二维码可以展示的内容越来越丰富&#xff0c;比如文本就是很常见的一种形式。编辑好文本内容之后&#xff0c;将文字内容添加到二维码中&#xff0c;其他人扫码就可以获取到文字内容&#xff0c;那么文本二维码该如何制作呢&#xff1f;想要制作二维码&#xff0c;那么可以…

SpringCloud集成OpenTelemetry的实现

SpringCloud项目做链路追踪&#xff0c;比较常见的会集成SleuthZipKin来完成&#xff0c;但这次的需求要集成开源框架OpenTelemetry&#xff0c;这里整理下实现过程。相关文章&#xff1a; 【SpringCloud集成SleuthZipkin进行链路追踪】 【OpenTelemetry框架Trace部分整理】 …

百度地图点标记加调用

先看效果 PHP代码 <?phpnamespace kds_addons\edata\controller;use think\addons\Controller; use think\Db;class Maps extends Controller {// 经纬度计算面积function calculate_area($points){$totalArea 0;$numPoints count($points);if ($numPoints > 2) {f…

国企普通员工如何才能成为公务员,这三种途径可供参考

国企普通员工如何转变成公务员&#xff1f;作为国企普通员工&#xff0c;如果要成为国家公务员&#xff0c;其主要的路径有三个方面&#xff0c;一是符合国家公务员法规定的公务员招录条件要求的&#xff0c;可以报考国家公务员&#xff1b;二是在国有企业担任领导职务&#xf…

有趣的Python之基本语法(一篇足够)

目录 Python简介 基本数据类型 进入交互模式 input()函数 条件语句 逻辑运算符 列表list 元组 字典 循环语句 format()方法和f 定义函数 python中的标准库引入 引入第三方库模块 面向对象 读文件 写文件 异常处理 Python简介 面向对象编程、函数式编程和过程…

【rtmp】1: FLV videotag 转annexb

【FLV】AVC+AAC的FLV解析过程及pts、dts计算 反复多次,才能熟记细节。 明确细节,遇到问题才能解决。 rtmp 推送flv时, 首先解析flv,flv videotag 转annexb 格式。 然后 按照annexb 输入给rtmp,让rtmp 推送。 而rtmp 推送又需要把annexb 转为avcc 。 annexb 格式文件 录制的…