Git基础

文章目录

  • 1. Git基础
    • 1.1 版本管理
      • 1.1.1 什么是版本管理
      • 1.1.2 人为维护文档版本的问题
    • 1.2 Git 是什么
    • 1.3 Git 安装
    • 1.4 Git基本工作流程
    • 1.5 Git 的使用
      • 1.5.1 Git 使用前配置
      • 1.5.2 提交步骤
      • 1.5.3 撤销
  • 2. Git进阶
    • 2.1 分支
      • 2.1.1 分支细分
      • 2.1.2 分支命令
    • 2.2 暂时保存更改

1. Git基础

学习视频

1.1 版本管理

1.1.1 什么是版本管理

  • 版本管理是一种记录文件变化的方式,以便将来查阅特定版本的文件内容。

1.1.2 人为维护文档版本的问题

  1. 文档数量多且命名不清晰导致文档版本混乱
  2. 每次编辑文档需要复制,不方便
  3. 多人同时编辑同一个文档,容易产生覆盖

1.2 Git 是什么

  • Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。
  • 主要目的:管理项目的更新迭代,管理项目版本
  • 若这段时间内写的代码有问题,那么可以通过git找到之前没修改的代码。

1.3 Git 安装

1.4 Git基本工作流程

在这里插入图片描述

  • git仓库:用于存放项目状态的地方,实际就是由项目创建的git的文件夹
  • 工作目录:指的是被git管理的文件夹,实际上就是项目文件夹,就是写代码的地方
  • 暂存区:只存放被修改过的文件
  • 基本流程:开发者每次向git仓库中提供项目状态,都要将这次修改的目录提交到暂存区,然后再将暂存区中的目录提交到仓库。

1.5 Git 的使用

1.5.1 Git 使用前配置

在使用 git 前,需要告诉 git 你是谁,在向 git 仓库中提交时需要用到。

  1. 配置提交人姓名: git config --global user .name 提交人姓名
  2. 配置提交人邮箱: git config --global user.email 提交人邮箱
  3. 查看git配置信息: git config --list
  • 使用终端进行配置
    在这里插入图片描述
  • 直接修改配置文件
    • C:\Users\28237.gitconfig
    • 直接进行修改即可在这里插入图片描述

注意

  • 1.如果要对配置信息进行修改,重复上述命令即可
  • 2.配置只需要执行一次

1.5.2 提交步骤

  1. git init 初始化git仓库
    • 在项目文件夹下打开git命令行程序,在命令行输入 git init,代表在项目文件夹下初始化一个空的git仓库。
  2. git status 查看文件状态
    • 查看git仓库文件状态:被管理的文件状态,管理的文件状态。
  3. git add 文件列表 添加文件文件
    • 就是把你想让git管理的文件添加到暂存区中
  4. git commit -m 提交信息 向仓库中提交代码
    • 将暂存区的文件提交到git仓库中
    • 原则:每提交一次只能提交一个功能
    • 每一次都要写提交说明
  5. git log 查看提交记录

实操流程:
在这里插入图片描述

1.5.3 撤销

  • 用暂存区中的文件覆盖工作目录中的文件:git checkout 文件
  • 将文件从暂存区中删除: git rm --cached 文件
  • 将 git 仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录: git rest --hard commitID

git checkout 文件 实操流程:
在这里插入图片描述

git checkout list.html // 执行后

在这里插入图片描述

  • 点击是后,恢复到暂存区保存的那个状态
    在这里插入图片描述

git rm --cached 文件实操流程:

  • 删除后文件不会被git所管理,但是在用户的本地目录依然存在这个文件
    在这里插入图片描述

git rest --hard commitID实操流程:

在这里插入图片描述

2. Git进阶

2.1 分支

  • 为了便于理解,大家暂时可以认为分支就是当前工作目录中代码的一份副本使用分支,可以让我们从开发主线上分离出来,以免影响开发主线.

2.1.1 分支细分

  1. 主分支 (master) : 第一次向 git 仓库中提交更新记录时自动产生的一个分支。
  2. 开发分支 (develop) : 作为开发的分支,基于 master 分支创建.
  3. 功能分支 (feature) : 作为开发具体功能的分支,基于开发分支创建

合并方向:功能分支---->开发分支---->主分支

2.1.2 分支命令

  • git branch 查看分支

  • git branch 分支名称 创建分支

  • git checkout 分支名称 切换分支

    • 在切换分支之前,一定要把当前分支的工作提交到git仓库中,要保持当前工作区保持干净的状态
  • git merge 来源分支 合并分支

    • 如果当前分支已经工作完成,就可以把当前的分支合并到其他分支
  • git branch -d 分支名称 删除分支 (-D 强制删除)

    • 分支被合并后才允许删除
  • 测试用例:查看分支 创建分支 切换分支
    在这里插入图片描述

  • 测试用例:合并分支
    在这里插入图片描述

  • 测试用例:删除分支
    在这里插入图片描述

2.2 暂时保存更改

在git中,可以暂时提取分支上所有的改动并存储,让开发人员得到一个干净的工作副本,临时转向其他工作,工作完成后还可以回到刚刚存储的分支,使用场景:分支临时切换

  • 存储临时改动: git stash
    • 将所有改动存储起来
  • 恢复改动: git stash pop
    • 将所有改动恢复

流程:

  1. 存储分支的状态
  2. 此时当前分支就是干净的状态
  3. 此时就可以切换到别的分支执行任务
  4. 执行完任务后,回到之前的分支并且恢复状态
    在这里插入图片描述

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

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

相关文章

鸿蒙Hi3861学习三-第一个实例程序Hello_world

一、简介 前两章介绍了环境搭建、烧录和编译。这一节,来介绍实现第一个经典代码“hello world”。 先介绍小熊派的目录结构,该目录结构延续了OpenHarmony官方目录结构。 二、实操 1.搭建代码架构 1).新建项目文件夹hello_world cd bearpi-hm_nano/appli…

【VM服务管家】VM4.0平台SDK_2.3 控件嵌入类

目录 2.3.1 渲染结果:通过绑定流程或模块获取渲染结果的方法2.3.2 渲染控件:渲染控件加载本地图像的方法2.3.3 渲染控件:渲染控件上自定义图形的方法2.3.4 参数控件:参数配置控件绑定模块的方法2.3.5 控件颜色:控件颜色…

Java新提案,最终还是靠近C#了

Java是一门非常优秀的编程语言,特别是生态繁荣,成熟的轮子很多,各种解决方案都有,要开发一个项目,只需把轮子组装,并根据自己的项目,进行自定义修改,可以极大地提升开发效率。 曾经…

【算法】【算法杂谈】判断点是否在三角形内部(面积法和向量法)

目录 前言问题介绍解决方案代码编写java语言版本c语言版本c语言版本 思考感悟写在最后 前言 当前所有算法都使用测试用例运行过,但是不保证100%的测试用例,如果存在问题务必联系批评指正~ 在此感谢左大神让我对算法有了新的感悟认识! 问题介…

react-antd-procomponents组件库 ProTable表格实现跨页多选。

table表格多选时所需要的api 1.onSelect - 单行选择(用户手动选择/取消选择某行的回调) 2.onSelectMultiple - 多行选择(用户使用键盘 shift 选择多行的回调) 3.onSelectAll - 全选全不选(用户手动选择/取消选择所有行的回调) 4.onChange - 每次选择行都…

Page管理机制

Page页分类 Buffer Pool 的底层采用链表数据结构管理Page。在InnoDB访问表记录和索引时会在Page页中缓存,以后使用可以减少磁盘IO操作,提升效率 Page根据状态可以分为三种类型: - free page : 空闲page,未被使用 - …

耐腐蚀高速电动针阀在半导体硅片清洗机化学药液流量控制中的应用

摘要:化学药液流量的精密控制是半导体湿法清洗工艺中的一项关键技术,流量控制要求所用调节针阀一是开度电动可调、二是具有不同的口径型号、三是高的响应速度,四是具有很好的耐腐蚀性,这些都是目前提升半导体清洗设备性能需要解决…

2023/4/25总结

刷题&#xff1a; 第一周任务 - Virtual Judge (vjudge.net) 1.这一题的思路就是先排除前面和后面相等的&#xff0c;然后找到不等的情况&#xff0c;不等情况的下标开始前后都走&#xff0c;看看是不是和b数组构成了一个升序数组即可。 #include<stdio.h> #define Ma…

【数据结构】链表详解

本片要分享的内容是链表&#xff0c;为方便阅读以下为本片目录 目录 1.顺序表的问题及思考 1.链表的遍历 2.头部插入 2.1开辟空间函数分装 3.尾部插入 纠正 4.尾部删除 5.头部删除 6.数据查找 7.任意位置插入 1.顺序表的问题及思考 上一篇中讲解了顺序表中增删查…

从源码全面解析LinkedBlockingQueue的来龙去脉

一、引言 并发编程在互联网技术使用如此广泛&#xff0c;几乎所有的后端技术面试官都要在并发编程的使用和原理方面对小伙伴们进行 360 的刁难。 二、使用 对于阻塞队列&#xff0c;想必大家应该都不陌生&#xff0c;我们这里简单的介绍一下&#xff0c;对于 Java 里面的阻塞…

Python | 基于LendingClub数据的分类预测研究Part01——问题重述+特征选择+算法对比

欢迎交流学习~~ 专栏&#xff1a; 机器学习&深度学习 本文利用Python对数据集进行数据分析&#xff0c;并用多种机器学习算法进行分类预测。 具体文章和数据集可以见我所发布的资源&#xff1a;发布的资源 Python | 基于LendingClub数据的分类预测研究Part01——问题重述特…

在.NET Core中正确使用HttpClient的方式

HttpClient 是 .NET Framework、.NET Core 或 .NET 5以上版本中的一个类&#xff0c;用于向 Web API 发送 HTTP 请求并接收响应。它提供了一些简单易用的方法&#xff0c;如 GET、POST、PUT 和 DELETE&#xff0c;可以很容易地构造和发送 HTTP 请求&#xff0c;并处理响应数据。…

【Excel统计分析插件】上海道宁为您提供统计分析、数据可视化和建模软件——Analyse-it

Analyse-it是Microsoft Excel中的 统计分析插件 它为Microsoft Excel带来了 易于使用的统计软件 Analyse-it在软件中 引入了一些新的创新统计分析 Analyse-it与 许多Excel加载项开发人员不同 使用完善的软件开发和QA实践 包括单元/集成/系统测试 敏捷开发、代码审查 …

虹科案例|虹科Micronor光纤传感器,实现核磁共振新应用!

PART 1 背景介绍 光纤传感器已成为推动MRI最新功能套件升级和新MRI设备设计背后的关键技术。将患者的某些活动与MRI成像系统同步是越来越受重视的需求。磁场强度随着每一代的发展而增大&#xff0c;因此&#xff0c;组件的电磁透明度在每一代和新应用中变得更加重要。 光学传…

《Netty》从零开始学netty源码(四十六)之PooledByteBuf

PooledByteBuf Netty中一大块内存块PoolChunk默认大小为4MB&#xff0c;为了尽可能充分利用内存会将它切成很多块PooledByteBuf&#xff0c;PooledByteBuf的类关系图如下&#xff1a; PooledUnsafeDirectByteBuf与PooledUnsafeHeapByteBuf直接暴露对象的底层地址。 PooledByt…

【英语】100个句子记完7000个托福单词

其实主要的7000词其实是在主题归纳里面&#xff0c;不过过一遍100个句子也挺好的&#xff0c;反正也不多。 文章目录 Sentence 01Sentence 02Sentence 03Sentence 04Sentence 05Sentence 06Sentence 07Sentence 08Sentence 09Sentence 10Sentence 11Sentence 12Sentence 13Sent…

数据分析中常见标准的参考文献

做数据分析过程中&#xff0c;有些分析法方法的标准随便一搜就能找到&#xff0c;不管是口口相传还是默认&#xff0c;大家都按那样的标准做了。日常分析不细究出处还可以&#xff0c;但是正式的学术论文你需要为你写下的每一句话负责&#xff0c;每一个判断标准都应该有参考文…

Docker | 解决docker 容器中csv文件乱码的情况

问题描述&#xff1a;在Ubuntu docker容器中&#xff0c;打开.csv文件时显示乱码 问题如图 错误分析&#xff1a; 用locale查看所用容器支持的字符集 从输出可以看到&#xff0c;系统使用的是POSIX字符集&#xff0c;POSIX字符集是不支持中韩文的&#xff0c;而UTF-8是支持中…

刷题4.28

1、 开闭原则软件实体&#xff08;模块&#xff0c;类&#xff0c;方法等&#xff09;应该对扩展开放&#xff0c;对修改关闭&#xff0c;即在设计一个软件系统模块&#xff08;类&#xff0c;方法&#xff09;的时候&#xff0c;应该可以在不修改原有的模块&#xff08;修改关…

vue之--使用TypeScript

搭配 TypeScript 使用 Vue​ 像 TypeScript 这样的类型系统可以在编译时通过静态分析检测出很多常见错误。这减少了生产环境中的运行时错误&#xff0c;也让我们在重构大型项目的时候更有信心。通过 IDE 中基于类型的自动补全&#xff0c;TypeScript 还改善了开发体验和效率。…