Git 版本控制系统

news2024/11/19 16:41:25

git相关代码

0、清屏幕:clear
1、查看版本号
git -v
2、暂存、更改、提交

3、当前项目下暂存区中有哪些文件
git ls-files
4、查看文件状态
git status -s
5、暂时存储,可以临时恢复代码内容
git restore 目标文件
//(注意:完全确认覆盖时使用)
6、从暂存区移除文件
git rm --cached 目标文件
7、查看版本库提交的
git log --oneline
8、回退命令

git reset --soft 版本号(工作区其他文件保留,其他文件未跟踪)
git reset --hard 版本号(工作区其他文件被清除)
git reset --mixed 版本号 (与 git reset 等价)(暂存区其他文件都没有,工作区其他文件变成未跟踪)

9、 如何查看提交历史?
git reflog --oneline
10、如何创建和切换指针?
git branch 分支名   //创建
git checkout 分支名  //切换
11、查看所有分支
git branch

1、Git 初识

2、Git 安装

Windows系统:exe 程序,默认下一步即可
Mac系统:dmg 程序,默认下一步即可
检验成功:

  1. 打开 bash 终端(git 专用)
  2. 命令:git -v(查看版本号)

3、Git 配置用户信息

配置:用户名和邮箱,应用在每次提交代码版本时表明自己身份
命令:
git config --global user.name “itheima”
git config --global user.email “itheima@itcast.cn”

git config --list //检查配置是否成功

4、总结

  1. 为何学习 Git ?
    管理代码版本,记录,切换,合并代码
  2. Git 学习:
    ✓ 现在本机自己使用
    ✓ 再学习多人共享使用
  3. 如何安装使用?
    ✓ 程序双击安装
    ✓ 在 VSCode 中使用 bash 终端以及 git 命令

5、掌握 Git 仓库


是一个隐藏的文件夹,在文档里面 点击查看 点击隐藏的项目 就会出现

小结

  1. 什么是 Git 仓库 ?
    ✓ 记录文件状态内容和历史记录的地方(.git 文件夹)
  2. 如何创建 Git 仓库?
    ✓ 把本地文件夹转换成 Git 仓库:命令 git init
    ✓ 从其他服务器上克隆 Git 仓库‘

6、Git 的三个区域

Git 使用时:
工作区:实际开发时操作的文件夹
暂存区:保存之前的准备区域(暂存改动过的文件)
版本库:提交并保存暂存区中的内容,产生一个版本快照
需求:把登录页面新增后,暂存并提交


当前项目下暂存区中有哪些文件:

git ls-files

小结

  1. Git 使用时有哪些区域 ?
    ✓ 工作区,暂存区,版本库
  2. 工作区的内容,最终要如何保存在版本库中?
    ✓ git add 添加到暂存区
    ✓ 等待时机后 git commit 提交保存到版本库,产生一次版本快照记录

7、Git 文件状态

Git 文件 2 种状态:
✓ 未跟踪:新文件,从未被 Git 管理过
✓ 已跟踪:Git 已经知道和管理的文件

使用:修改文件,暂存,提交保存记录,如此反复
需求:新增 css 文件,并使用 git status -s 查看文件状态,并最终提交


小结

  1. Git 文件状态分为哪 2 种 ?
    ✓ 未跟踪和已跟踪(新添加,未修改,已修改)
  2. 如何查看暂存区和工作区文件状态?
    ✓ git status -s

8、Git 暂存区使用

暂存区:暂时存储,可以临时恢复代码内容,与版本库解耦
暂存区 -> 覆盖 -> 工作区,命令:git restore 目标文件(注意:完全确认覆盖时使用
从暂存区移除文件,命令:git rm --cached 目标文件
在这里插入图片描述

9、练习-登录页面

需求:新增 JS 代码并暂存提交产生新的版本快照
步骤

  1. 新增 js 文件和内容
  2. 临时存放在暂存区
  3. 提交保存到版本库

    查看版本库提交的
git log --oneline

10、Git 回退版本

概念:把版本库某个版本对应的内容快照,恢复到工作区/暂存区
查看提交历史:git log --oneline

回退命令:
git reset --soft 版本号(工作区其他文件保留,其他文件未跟踪)
git reset --hard 版本号(撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交, hard 参数,它会删除回退点之前的所有信息)
git reset --mixed 版本号 (与 git reset 等价)(暂存区其他文件都没有,工作区其他文件变成未跟踪)

注意1:只有记录在版本库的提交记录才能恢复
注意2:回退后,继续修改->暂存->提交操作即可(产生新的提交记录过程)

小结
  1. 什么是 Git 回退版本?
    ✓ 把版本库某个版本对应的内容快照,恢复到工作区/暂存区
  2. 强制覆盖暂存区和工作区的命令?
    ✓ git reset --hard 版本号
  3. 如何查看提交历史?
    ✓ git log --oneline
    ✓ git reflog --oneline

11、删除文件

需求:删除 editor.js 文件,并产生一次版本记录
步骤:

  1. 手动删除工作区文件
  2. 暂存变更/手动删除暂存区文件造成变更
  3. 提交保存

总结:
工作区只要改变,都可以暂存提交产生新记录

12、忽略文件

概念:.gitignore 文件可以让 git 彻底忽略跟踪指定文件
目的:让 git 仓库更小更快,避免重复无意义的文件管理
例如:

  1. 系统或软件自动生成的文件
  2. 编译产生的结果文件
  3. 运行时生成的日志文件,缓存文件,临时文件等
  4. 涉密文件,密码,秘钥等文件

创建:

  1. 项目根目录新建 .gitignore 文件
  2. 填入相应配置来忽略指定文件

注意:如果文件已经被暂存区跟踪过,可以从暂存区移除即可

13、分支

概念:本质上是指向提交节点的可变指针,默认名字是 master
注意:HEAD 指针影响工作区/暂存区的代码状态





查看所有分支:

git branch

小结

  1. 什么是 Git 分支?
    ✓ 指针,指向提交记录
  2. HEAD 指针的作用?
    ✓ 影响暂存区和工作区的代码
  3. 如何创建和切换指针?
    ✓ git branch 分支名
    ✓ git checkout 分支名

14、练习-登录 bug 修复

15、分支-合并与删除

16、分支-合并与提交


17、分支-合并冲突

18、Git 常用命令


19、Git 远程仓库

概念:托管在因特网或其他网络中的你的项目的版本库
作用:保存版本库的历史记录,多人协作
创建:公司自己服务器 / 第三方托管平台(Gitee,GitLab,GitHub…)

需求:创建远程版本库,并把本地 Git 仓库推送上去保存
步骤:

  1. 注册第三方托管平台网站账号
  2. 新建仓库得到远程仓库 Git 地址
  3. 本地 Git 仓库添加远程仓库原点地址
    命令:git remote add 远程仓库别名 远程仓库地址
    例如:git remote add origin https://gitee.com/lidongxu/work.git
  4. 本地 Git 仓库推送版本记录到远程仓库
    命令:git push -u 远程仓库别名 本地和远程分支名
    例如:git push -u origin master
    完整写法:git push --set-upstream origin master:master
    补充:第一次用gitee要登录,之后就不需要了
    如果以后不用这个仓库了,在控制面板 => 用户账号 => 凭据管理器 =>windows凭据中删掉 既可

    看有哪些远程仓库:
git remote -v

移除远程仓库:

git remote remove origin

小结

  1. 远程版本库的作用?
    ✓ 保存提交历史记录,多人共享
  2. 远程版本库使用步骤?
    ✓ 创建远程版本库(自己服务器/第三方托管平台)
    ✓ 本地版本库设置远程地址
    ✓ 推送本地版本库到远程
  3. 推送的命令?
    ✓ git push -u origin master

20、Git 远程仓库-克隆

克隆:拷贝一个 Git 仓库到本地,进行使用
命令:git clone 远程仓库地址
例如:git clone https://gitee.com/lidongxu/work.git
效果:在运行命令所在文件夹,生成 work 项目文件夹(包含版本库,并映射到暂存区和工作区)
注意1:Git 本地仓库已经建立好和远程仓库的链接
注意2:仓库公开随意克隆,推送需要身为仓库团队成员

打开一个文件夹,可以用cmd命令/右击 git bash 输入“git clone 远程仓库地址”命令,等待完成,克隆成功。
用cd 克隆过来的文件夹名字 进入
输入 git log --oneline 查看提交历史记录 上面有显示远程仓库的别名

21、多人协同开发


再次上传:git push origin master
再次拉取:git pull origin master

22、VSCode 中使用 Git

使用:源代码管理,进行暂存,撤销,对比差异,提交等操作

23、案例-发布黑马头条数据管理平台

需求:把 Webpack 压缩好的 dist 分发文件夹网页,部署到码云上,开启 Page 服务在互联网中浏览
步骤:

  1. 初始化本地 Git 仓库(这次是非空文件夹-配套素材 dist 文件夹)
  2. 初始化远程 Git 仓库(这一次也是非空的)
  3. 本地配置远程仓库链接
  4. 本地拉取合并一下(确认本地要包含远程内容时使用)
  5. 本地推送到远程 Git 仓库
  6. 开启 page 网页服务得到地址浏览

24、Git 常用命令

25、结语

需求:把 Webpack 压缩好的 dist 分发文件夹网页,部署到码云上,开启 Page 服务在互联网中浏览

步骤:

  1. 初始化本地 Git 仓库(这次是非空文件夹-配套素材 dist 文件夹)
  2. 初始化远程 Git 仓库(这一次也是非空的)
  3. 本地配置远程仓库链接
  4. 本地拉取合并一下(确认本地要包含远程内容时使用)
  5. 本地推送到远程 Git 仓库
  6. 开启 page 网页服务得到地址浏览

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

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

相关文章

mysql处理json格式的字段,一文搞懂mysql解析json数据

文章目录 一、概述1、什么是JSON2、MySQL的JSON3、varchar、text、json类型字段的区别 二、JSON类型的创建1、建表指定2、修改字段 三、JSON类型的插入1、字符串直接插入2、JSON_ARRAY()函数插入数组3、JSON_OBJECT()函数插入对象4、JSON_ARRAYAGG()和JSON_OBJECTAGG()将查询结…

南卡再次发布新款OE-CC开放式耳机,被誉为年度开放式耳机百元标杆!

​国内著名声学品牌南卡,在近日又推出一款全新开放式耳机OE-CC,致力打造舒适、安全、健康听歌新体验,该耳机以其卓越的音质和令人惊叹的性价比而备受瞩目。再次证明了南卡在开放式音频领域的领先地位,被誉为年度开放式耳机百元标杆…

暄桐展览| 我们桐学有自己的习作展(1)

林曦老师《从书法之美到生活之美》的第五阶课程《静定的滋养2021》已告一段落。570天的用功,桐学们的技艺都有了水涨船高的进益。      无论书法课(全阶和五阶)还是国画课,暄桐都有一套完整系统的教学体系,也会在桐…

攻防世界-reverse-666

1. 题目描述 下载附件,发现是一个可执行文件 2. 思路分析 先逆向分析下源码 整个程序的逻辑还是比较简单的,输入key,对key进行encode,如果加密后的字符串和指定字符串相同,那么key就是我们需要的flag,…

AntDB-M的审计功能

数据库的审计功能是指对数据库访问行为进行监管,记录数据库里面发生了什么操作,是数据库系统安全功能的组成部分。 AntDB-M的审计功能关注客户端的连接信息,比如:用户名和主机地址、客户端发送的SQL语句、SQL执行访问的对象、修改…

W6100-EVB-PICO进行UDP组播数据回环测试(九)

前言 上一章我们用我们的开发板作为UDP客户端连接服务器进行数据回环测试,那么本章我们进行UDP组播数据回环测试。 什么是UDP组播? 组播是主机间一对多的通讯模式, 组播是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将…

打破数据孤岛!时序数据库 TDengine 与创意物联感知平台完成兼容性互认

新型物联网实现良好建设的第一要务就是打破信息孤岛,将数据汇聚在平台统一处理,实现数据共享,放大物联终端的行业价值,实现系统开放性,以此营造丰富的行业应用环境。在此背景下,物联感知平台应运而生&#…

IDEA书签使用

在你想要创建书签的地方按F11就能创建书签 在行那里按这一行前面就会打个√,再按一下F11他又会删除 当然也可以按CtrlF11自己定义是√还是字母或者是数字 也可以在文件上加书签 想要快速定位到书签,按ShiftF11查看书签,双击就定位到你这个…

java八股文面试[数据结构]——ConcurrentHashMap原理

HashMap不是线程安全: 在并发环境下,可能会形成环状链表(扩容时可能造成,具体原因自行百度google或查看源码分析),导致get操作时,cpu空转,所以,在并发环境中使用HashMap是…

python 模块xlwt 写入.xls文件

Python操作Excel的模块有很多,并且各有优劣,不同模块支持的操作和文件类型也有不同。下面是各个模块的支持情况: xlrd:xlrd 读取.xls文件xlwings:xlwings 读取写入Excel文件openpyxl:openpyxl 读取写入.xl…

【linux】2 make/Makefile和gitee

文章目录 一、Linux项目自动化构建工具-make/Makefile1.1 背景1.2 实例代码1.3 原理1.4 项目清理 二、linux下第一个小程序-进度条2.1 行缓冲区2.2 进度条 三、git以及gitee总结 ヾ(๑╹◡╹)ノ" 人总要为过去的懒惰而付出代价ヾ(๑╹◡╹)ノ" 一…

十一、pikachu之XXE

文章目录 1、XXE漏洞概述1.1 XML定义1.2 XML结果1.2 XML文档格式1.2.1 DTD内部文档声明1.2.2 DTD外部文档声明1.2.3 DTD声明 2、实战 1、XXE漏洞概述 XXE(xml external entity injection):即xml外部实体注入漏洞,也就是说服务端接收和解析了来自用户端的…

我裸辞去面试大公司python岗位了!

最近换工作了,坐标上海,裸辞,之前早有前辈们说过,“裸辞一时爽,一直裸辞一直爽”,这话一点不假,裸辞你要面临没有收入来源,但是每天眼睁睁看着各种花销不断支出的煎熬,我主要是觉得一…

高忆管理:k线图24种经典图解?

K线图是股市技能剖析中的常用工具,它可以描绘出一段时间内股票或指数的开盘价、收盘价、最高价和最低价等信息,为投资者提供了重要的信息。在这篇文章中,咱们将从多个角度剖析24种经典的K线图,协助读者深入了解和应用它们。 榜首&…

stm32基于HAL库驱动外部SPI flash制作虚拟U盘

stm32基于HAL库驱动外部SPI flash制作虚拟U盘 📌参考文章:https://xiaozhuanlan.com/topic/6058234791🎞实现效果演示: 🔖上图中的读到的FLASH_ID所指的是针对不同容量,所对应的ID。 //W25X/Q不同容量对应…

(五)k8s实战-配置管理

一、ConfigMap 使用 kubectl create configmap -h 查看示例&#xff0c;构建 configmap 对象 1) 基于文件夹&#xff0c;加载文件夹下所有配置文件&#xff0c;创建 kubectl create configmap <configmapName> --from-file<dirPath>2) 指定配置文件&#xff0c;创…

vue3的hooks你可以了解一下

更详细的hooks了解参考这个大佬的文章&#xff1a;掘金&#xff1a;Hooks和Mixins之间的区别 刚开始我简单看了几篇文章感觉Hooks这个东西很普通&#xff0c;甚至感觉还不如vue2的mixin好用。还有export import 感觉和普通定义一个utils文件使用没什么区别。但是Hooks这个东西肯…

vue学习 记录

vue学习 记录 https://v2.cn.vuejs.org/ https://cn.vuejs.org/ https://chrome.zzzmh.cn/index#/index 更多工具— 扩展程序

VLOOKUP

VLOOKUP简单应用 VLOOKUP(A1,B:B,1,FALSE) 是查询A1这子格子的数据在B这一列里面有没有找到相同数据的值,如果有的话就放在当前格子里面去 如果没有的话就是#NA VLOOKUP(A1,F:G,2,FALSE) 是查询A1这子格子的数据在F列查相同的数据,然后再取G列这一行后面的这个格子的数据放到…

连锁餐饮行业的运维困局,向日葵远程控制提供“标准答案”

企业数字化转型的应用落地&#xff0c;在连锁餐饮行业是非常容易被顾客所感知到的&#xff0c;最典型的例子就是各种自助点餐设备。 往往在这些自助点餐设备的背后&#xff0c;还拥有一个覆盖进销存管理、供应链、客户反馈、巡店管理、视频监控等方面的完善的数字化系统&#…