【版本控制工具二】Git 和 Gitee 建立联系

news2024/11/22 21:11:52

文章目录

    • 前言
    • 一、Git 和 Gitee 建立联系
      • 1.1 任意目录下,打开 git bash 命令行,输入以下命令生成公钥
      • 1.2 配置SSH公钥
      • 1.3 进行全局配置
    • 二、其它相关Git指令
      • 2.1 常用指令
      • 2.2 指令操作可能出现的问题
    • 三、补充
      • 3.1 **为什么要先commit,然后pull,然后再push,我pull了,岂不是把自己改的代码都给覆盖掉了嘛,因为远程没有我改的代码,我pull,岂不是覆盖了我本地的改动好的地方了?那我还怎么push?**
      • 3.2 两个分支,A和B,A合并B和B合并A,有区别吗?

前言

上一篇文章讲了如何安装和使用git版本控制工具。
但说起版本控制,怎么少的了团队协作,如果下班啦不想带电脑晚上还想继续搞怎么办?
那就使用码云、github在线管理吧!

数字化管理平台
Vue3+Vite+VueRouter+Pinia+Axios+ElementPlus
权限系统-商城
个人博客地址

一、Git 和 Gitee 建立联系

1.1 任意目录下,打开 git bash 命令行,输入以下命令生成公钥

ssh-keygen -t rsa -C 邮箱

回车出现 (y/n), 输入 y , 连续点击回车,即可生成,效果如下:

在这里插入图片描述

1.2 配置SSH公钥

  1. 打开目录 C:\Users\Dell\.ssh 目录,找到 id_rsa.pub 文件,使用记事本打开
    注意:不同电脑,用户目录有所差异

    在这里插入图片描述

  2. 返回到浏览器中找到刚刚云端仓库创建完成的 gitee 页面
    右上角找到个人信息点开,找到 ”设置“ 并打开
    在这里插入图片描述3. 设置页面如下 在这里插入图片描述

  3. 找到左侧栏 ”安全设置“ 中的 ”SSH公钥“,点击后如下
    在这里插入图片描述

生成公钥的官方指导步骤:https://gitee.com/help/articles/4191#article-header0

默认公钥数量为 0,在 ”添加公钥“ 栏目下,添加 ”标题“ 和 ”公钥“

注:标题名字为自定义 公钥为刚刚用记事本打开的 ”id_rsa.pub“ 文件中的内容

粘贴完成后,点击确定。此时就会显示 ” 您当前的SSH公钥数:1 “。

1.3 进行全局配置

输入以下指令

git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

将纳入版本库的文件,提交到 gitee 远程仓库:

git remote add origin 你的仓库地址
git push -u origin master

在这里插入图片描述

此时,提交完成,打开浏览器,输入你的仓库地址 ,如: https://gitee.com/magnumhou/test.git 即可看到上传文件:

在这里插入图片描述

二、其它相关Git指令

2.1 常用指令

  • 查看当前分支:git branch
  • 查看包含远程分支在内的所有分支:git branch -a
  • 创建分支:git branch
  • 切换分支:git checkout
  • 创建+切换分支:git checkout -b
  • 推送本地分支到远程分支 (远程和本地分支需同名):git push origin :
  • 如果本地分支未与远程分支建立关联,拉取远程代码需执行:git pull origin 也就是需标明拉去远程的具体分支名*
  • 合并某分支到当前分支:git merge
  • 删除本地分支:git branch -d
  • 删除远程分支:git push origin : 或 git push origin --delete
  • git clone 项目地址 下载或克隆别人的项目到本地
  • git status 查看被修改的文件
  • git diff 文件 查看指定文件修改的内容
  • git reset --hard HEAD^ 回退到上一个版本
  • git reset --hard HEAD^^ 回退到上上个版本
  • git reset --hard HEAD^^ 回退到上N个版本,当然这是比较麻烦的,可以使用以下简化
  • git reset --hard HEAD~100 回退到上100个版本
  • git reset --hard HEAD commit id 通过指定id回到未来某个版本,可以通过 git log 查看提交历史

2.2 指令操作可能出现的问题

git pull 将远程主机的最新内容拉下来后直接合并 可能会出现冲突

git pull origin master  // 拉取主分支最新代码,手动解决冲突

pwd 查看当前目录所在的系统文件路径

三、补充

3.1 为什么要先commit,然后pull,然后再push,我pull了,岂不是把自己改的代码都给覆盖掉了嘛,因为远程没有我改的代码,我pull,岂不是覆盖了我本地的改动好的地方了?那我还怎么push?

这个先 commit 再 pull 再 push 的情况就是为了应对多人合并开发的情况:

  1. commit 是为了告诉 git 我这次提交改了哪些东西,不然你只是改了但是 git 不知道你改了,也就无从判断比较;
  2. pull是为了本地 commit 和远程commit 的对比记录,git 是按照文件的行数操作进行对比的,如果同时操作了某文件的同一行那么就会产生冲突,git 也会把这个冲突给标记出来,这个时候就需要先把和你冲突的那个人拉过来问问保留谁的代码,然后在 git add && git commit && git pull 这三连,再次 pull 一次是为了防止再你们协商的时候另一个人给又提交了一版东西,如果真发生了那流程重复一遍,通常没有冲突的时候就直接给你合并了,不会把你的代码给覆盖掉
  3. 出现代码覆盖或者丢失的情况:比如A B两人的代码pull 时候的版本都是1,A在本地提交了2,3并且推送到远程了,B 进行修改的时候没有commit 操作,他先自己写了东西,然后 git pull 这个时候 B 本地版本已经到3了,B 在本地版本3的时候改了 A 写过的代码,再进行了git commit && git push 那么在远程版本中就是4,而且 A 的代码被覆盖了,所以说所有人都要先 commit 再 pull,不然真的会覆盖代码的

3.2 两个分支,A和B,A合并B和B合并A,有区别吗?

两个互相合并的唯一区别就是 A->B 的时候 B 分支上会产生一个 merge_commit 的信息,这个时候 B 是合并状态而 A 未合并状态,如果现在没有发生任何改动执行 B->A 就直接切换过去了,连 merge_commit 都不会生成了

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

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

相关文章

【ORACLE】ORA-00972:标识符过长

问题 执行创建表结构sql,提示 ORA-00972:标识符过长; 如图所示,约束名称超过30个字符了 原因 一、11G and before 在使用11G数据库时,经常会遇到报错ORA-00972,原因是因为对象名称定义太长&#xff0c…

为啥Linux内核对驱动调用要绕这么多弯?

为啥Linux内核对驱动调用要绕这么多弯? 需要去写驱动的,基本是芯片原厂的人。其他的linux驱动从业者,只是调试、改设备树、封装库差不多了。需要“不满足照搬框架去写驱动”的人,应该都是通过芯片原厂面试的人,不会来问…

Harmony跨进程通信—IPC与RPC通信开发指导

一、IPC与RPC通信概述 基本概念 IPC(Inter-Process Communication)与RPC(Remote Procedure Call)用于实现跨进程通信,不同的是前者使用Binder驱动,用于设备内的跨进程通信,后者使用软总线驱动&a…

【大虾送书第十二期】MLOps快速成为机器学习生产落地中不可或缺的关键能力

目录 🌟写在前面 🌟内容简介 🌟读者对象 🌟专家推荐 🌟图书目录 🌟直播预告 🌟文末福利 🦐博客主页:大虾好吃吗的博客 🦐专栏地址:免费送书活动专…

【排序算法】冒泡排序

文章目录 一:排序算法1.1 介绍1.2 分类 二:冒泡排序2.1 基本介绍2.2 图解冒泡排序算法2.3 代码实现 三:算法性能分析3.1 时间复杂度3.2 空间复杂度 一:排序算法 1.1 介绍 排序也称排序算法(Sort Algorithm),排序是将…

Spring源码分析(五) 事务全流程分析

Spring事务的基础知识 1、注解相关属性 Transactional 注解的属性信息 name 当在配置文件中有多个 TransactionManager , 可以用该属性指定选择哪个事务管理器 propagation 事务的传播行为,默认值为 REQUIRED。 isolation 事务的隔离度,默认值采用 DEF…

AI:11-基于深度学习的鱼类识别

当今,人工智能和深度学习已经成为许多领域的关键技术。在生态学和环境保护领域,鱼类识别是一项重要的任务,因为准确识别和监测鱼类种群对于保护水生生物多样性和可持续渔业管理至关重要。基于深度学习的鱼类识别系统能够自动识别和分类不同种类的鱼类,为生态学研究和渔业管…

ChatGPT Vision初体验

本周,OpenAI为其广受欢迎的 ChatGPT 平台发布了一项突破性的补充。除了处理文本之外,ChatGPT 现在还可以处理图像并聊天。 很难夸大这件事的重要性。目前多达70% 的内容是视觉内容而不是书面内容。人们每年会生成数千张照片,而当今许多最大的…

设计模式 - 结构型模式考点篇:代理模式(静态代理、JDK 动态代理、CGLIB 动态代理)

目录 一、代理模式 一句话概括 1.1、代理模式概述 1.2、静态代理 1.3、JDK 动态代理 1.4、CGLIB 动态代理 1.5、对比三种代理 1.5.1、jdk 代理 VS CGLIB 代理 1.5.2、动态代理 VS 静态代理 1.6、优缺点 1.7、使用场景 一、代理模式 一句话概括 教你将类和对象结合再…

Mac mov转mp4,详细转换步骤

Mac mov转mp4怎么转?视频文件格式为.mov是由Apple公司所开发的特殊格式。因其只能在苹果设备上播放,与他人分享时就会变得困难。为此,我们通常会选择使用MP4这种最受欢迎的视频格式。在日常使用中,MP4成为了大家首选的视频格式。而…

【Docker】 docker中apt-get update过慢,这样配置瞬间提速!

docker中apt-get update过慢,这样配置瞬间提速! 源官网全球镜像站 源 今天办公地点的网络出奇的差,看电影看小说打游戏完全没影响,只要更新就蜗速前进,只能从网上翻下,看看有没有网速快的下载源。 碰巧看到…

模范思路,单基因泛癌+实验轻松拿捏sci8+。

今天给同学们分享一篇单基因泛癌单细胞实验的生信文章“Pan-cancer analysis of Krppel-like factor 3 and its carcinogenesis in pancreatic cancer”,这篇文章于2023年8月3日发表在Front Immunol期刊上,影响因子为8.786。 Krppel-like factor 3&#…

vue.js处理数组对象中某个字段是否变为两个字段

一、场景: 产品要求做一个时间步骤条,使用目前后端已返回的数据进行操作实现。时间步骤条要求日期和时间分开显示且相同日期只显示第一个日期。 图左边为实现效果,右边为后台返回的接口。接口中current字段表示当前到达第几步,从…

2023年软件测试工具总结 —— 接口测试工具

接口测试的全称是应用程序编程接口(API)测试,从原理上来说,接口测试是模拟客户端向服务器端发送请求,然后检查能否获得正确的返回信息。接口测试用于测试RESTful API、SOAP Web服务,这些服务可以通过HTTP、…

Java基础知识总结(2023版)

目录 一、Java基础1、Java 基础2、Java 进阶3、Java8新特性4、Java集合5、Java高并发6、Java代码实例 二、MySQL数据库三、Spring Boot框架(35天)四、Redis中间件五、MongoDB数据库六、Netty网络编程七、23种设计模式八、微服务九、JavaScript零基础入门…

Aurora中的策略模式和模板模式

Aurora中的策略模式和模板模式 在aurora中为了方便以后的扩展使用了策略模式和模板模式实现图片上传和搜索功能,能够在配置类中设置使用Oss或者minio上传图片,es或者mysql文章搜索。后续有新的上传方式或者搜索方式只需要编写对应的实现类即可&#xff…

批量对比文件夹下文件

软件 产品 | Beyond Compare 中文官方网站 软解破解 Beyond Compare 4密钥过期,解决办法,超实用 批量文件对比 最后显示红色的文件,即为文件两者内容不同的

面了10家却收不到1个offer,自我介绍你踩雷了吗?

每一次离职,都是为了重新开始;每一次寻找新的工作,都面临着巨大的竞争。找工作就像找对象,除了需要一定的缘分外,也需要掌握一定的技巧。 有的人爱恋TA的人排到长城,有的人却一直母胎单身;有的人…

Spring源码解析(十一):spring事务配置类源码

Spring源码系列文章 Spring源码解析(一):环境搭建 Spring源码解析(二):bean容器的创建、默认后置处理器、扫描包路径bean Spring源码解析(三):bean容器的刷新 Spring源码解析(四):单例bean的创建流程 Spring源码解析(五)&…

vue3使用echarts实现地图撒点、飞线等功能

echarts地图配置参考链接 链接2 vue3使用echarts map.vue <template><div class"echart-demo" id"demo"></div> </template><script setup lang"ts"> //引入echart和json数据 import * as echarts from echarts…