Git版本控制系统入门

news2024/12/23 9:18:21

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录

Git 初识

Git 安装  

Git 配置用户信息

掌握 Git 仓库

Git 的三个区域 

Git 文件状态 

Git 暂存区使用

Git 回退版本

删除文件  

忽略文件


Git 初识

概念 :一个免费开源,分布式的 代码版本 控制系统,帮助开发团队维护代码
作用: 记录 代码内容, 切换 代码版本,多人开发时高效 合并 代码内容
如何学:
个人本机使用:Git 基础命令和概念
多人共享使用:团队开发同一个项目的代码版本管理

Git 安装  

(安装包在我的博客资源中,预计2-10个工作日才能过审o(╥﹏╥)o)

Windows系统 :exe 程序,默认下一步即可
Mac系统:dmg 程序,默认下一步即可
检验成功:
1. 打开 bash 终端(git 专用)
2. 命令: git -v (查看版本号)

Git 配置用户信息

配置:用户名和邮箱,应用在每次提交代码版本时表明自己身份
命令:
git config --global user.name "xzbbl"
git config --global user.email "2974783514@qq.com"

掌握 Git 仓库

Git 仓库( repository ):记录文件 状态 内容的地方,存储着修改的 历史记录
创建:
1. 把本地文件夹 转换 成 Git 仓库:命令 git init
$ git init
Initialized empty Git repository in D:/Git学习/.git/
2. 从其他服务器上 克隆 Git 仓库

Git 的三个区域 

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

 

Git 文件状态 

Git 文件 2 种状态:
        未跟踪:新文件,从未被 Git 管理过
        已跟踪:Git 已经知道和管理的文件
使用:修改文件,暂存,提交保存记录,如此反复
需求:新增 css 文件,并使用 git status -s 查看文件状态,并最终提交
第一列是暂存区状态
第二列是工作区状态
未跟踪:                                                                          

 新添加:           

$ git add .

                           

 改动css代码后:

$ git status -s
A  day01/page/login/index.css

      

Git 暂存区使用

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

Git 回退版本

概念:把版本库某个版本对应的内容快照,恢复到工作区/暂存区
查看提交历史: git log --oneline
回退命令:
git reset --soft 版本号(其他文件未跟踪)
git reset --hard 版本号
git reset --mixed 版本号 (与 git reset 等价)
注意1:只有记录在版本库的提交记录才能恢复
注意2:回退后,继续修改->暂存->提交操作即可(产生新的提交记录过程)

删除文件  

需求:删除 editor.js 文件,并产生一次版本记录
步骤:
1. 手动删除工作区文件
2. 暂存变更/手动删除暂存区文件造成变更
3. 提交保存
总结:
工作区只要改变,都可以暂存提交产生新记录

忽略文件

概念:.gitignore 文件可以让 git 彻底 忽略跟踪 指定文件
目的:让 git 仓库更小更快,避免重复无意义的文件管理
例如:
1. 系统或软件自动生成的文件
2. 编译产生的结果文件
3. 运行时生成的日志文件,缓存文件,临时文件等
4. 涉密文件,密码,秘钥等文件
创建:
1. 项目根目录新建 .gitignore 文件
2. 填入相应配置来忽略指定文件
注意:如果文件已经被暂存区跟踪过,可以从暂存区移除即可

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

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

相关文章

【uniapp2.0】解决真机测试底部有空白问题

我的错误做法(不代表别人是否没用) 📌 使用:uni.hideTabBar 报错:"errMsg":"hideTabBar:fail not TabBar page" 根因:这种情况一般是在小程序中为了隐藏tabbar调用的,但是有…

你还在用命令式编程?Python函数式编程让你的代码更优雅!

Python支持函数式编程,函数式编程是一种编程范式,它将计算机程序视为数学函数的组合。 文章目录 一、lambda表达式 lambda表达式的定义 lambda表达式的应用场景 lambda表达式的局限性 lambda表达式的高级用法 二、Python的高阶函数 高阶函数的定义…

(链表) 剑指 Offer II 022. 链表中环的入口节点 ——【Leetcode每日一题】

❓剑指 Offer II 022. 链表中环的入口节点 难度:中等 给定一个链表,返回链表开始入环的第一个节点。 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点。如果链表无环,则返回 null。 为了表示给定链表中的环&#xff0c…

Python补充笔记4-面向对象

目录 一、编程思想​ 二、类与对象​ 三、类的创建​ 四、对象的创建​ 五、类属性、类方法、静态方法​ 六、动态绑定属性和方法​ 七、知识点总结 八、面向对象的三大特征 1.封装 2.继承​ 3.多态 九、方法重写 十、object类 十一、特殊方法和特殊属性 1.dict/len/add​ 2.…

python调用百度ai将图片识别为表格excel

python调用百度ai将图片识别为表格excel ocr ocr 百度ai官方文档:https://ai.baidu.com/ai-doc/OCR/Ik3h7y238 import requests import json import base64 import time文档:https://ai.baidu.com/ai-doc/OCR/Ik3h7y238 # 获取access_token def get_acc…

学习笔记--TCP/IP协议

TCP/IP协议 TCP (Transmission Control Protocol)传输控制协议,传输层协议。 一、协议的分层 ISO网络层分为7层 二、分层的作用 具体通信情况: 三、报文传输 三次握手连接,四次挥手释放 参考链接: https://zhuanlan.zhih…

直播带货app开发开发流程分析

随着小视频管理体系愈来愈变成人们的生活中的一部分,也随之短视频卖货逐步形成岗位内主流的转现方式,将短视频平台生产制造变成短视频带货体系计划愈来愈多,那样,把小视频管理体系开发设计变成短视频带货体系必须两步?…

在Microsoft Excel中如何快速合并表格

在 Excel 中分析数据时,在一个工作表中收集所有必要信息的频率是多少?几乎从来没有!当不同的数据分散在许多工作表和工作簿中时,这是一种非常常见的情况。幸运的是,有几种不同的方法可以将多个表中的数据组合成一个表&…

【python】爬楼梯—递归分析(超级详细)

爬楼梯—递归分析 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 1 输出: 1 解释: 有一种方…

GPT和MBR的区别

磁盘分区是操作系统管理磁盘数据的一项非常重要的功能。在分区时,用户需要选择一种分区表格式来组织磁盘上的分区,这也就是GPT和MBR两种分区表格式的由来。在本文中,将详细探讨GPT和MBR分区表格式的区别和如何选择它们。 1. MBR和GPT分区表格…

electron-egg 加密报错

electron框架:electron-egg 解决方式 npm uninstall bytenode npm install bytenode1.3.6node:internal/modules/cjs/loader:928 throw err; ^ Error: Cannot find module ‘node:assert/strict’ Require stack: D:\electron-egg-test\new-electron-egg\electr…

勘探开发人工智能技术:断层识别

1 断层识别 断层是地下岩层在受到挤压或拉伸力作用下,因脆性变形而形成的地层错断,是一种重要的地质构造特征。断层检测和解释是从地震剖面中认识岩层结构和储层特性的重要步骤。 1.1 数据描述 合成地震数据: 每一个合成地震数据都是由地质模型的反射系数与雷克子波进行褶…

Vite 4.4 正式版发布,全面拥抱 Lightning CSS

一、什么是 Vite Vite 是由 Evan You 推出的下一代前端构建工具,是官方 Vue CLI 的替代品,速度非常快。Vite 利用原生 ESM 并使用 Rollup 处理开发和打包工作。 从功能上讲,它的工作方式类似于预配置的 webpack 和 webpack-dev-server&#…

软考_软件设计师(中级)

视频链接:(zst_2001) https://www.bilibili.com/read/cv18526892?spm_id_from333.999.0.0 文章目录 1、计算机系统2、程序设计语言3、知识产权4、数据库5、面向对象6、UML7、设计模式8、操作系统9、结构化开发10、软件工程11、信息安全&…

【MCU学习】RTthread工程介绍

RT-Thread架构 RT-Thread诞生于2006年,是一款以开源、中立、社区化发展起来的物联网操作系统。 RT-Thread主要采用 C 语言编写,浅显易懂,且具有方便移植的特性(可快速移植到多种主流 MCU 及模组芯片上)。RT-Thread把面…

Ubuntu18.04安装Autoware1.15(解决Openplanner无法绕障的问题:Openplanner2.5)

文章目录 一、下载Autoware1.15源码二、安装依赖三、修改CUDA版本四、编译以及报错解决编译(1)报 undefined reference to cv::Mat::Mat() 的错就按照下面方式改相应包:(2)遇到报错:(3&#xff…

opencv-20 深入理解HSV 色彩空间(通过指定,标记颜色等来拓展ROI区域)

RGB 色彩空间是一种被广泛接受的色彩空间,但是该色彩空间过于抽象,我们不能够直接通过其值感知具体的色彩。 我们更习惯使用直观的方式来感知颜色,HSV 色彩空间提供了这样 的方式。 通过 HSV色彩空间,我们能够更加方便地通过色调、…

web APIs-练习一

轮播图点击切换&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"…

Servlet——使用Servlet编程的基本流程。

文章目录 前言一、创建项目创建Maven项目介绍Maven项目 二、引入依赖三、创建目录四、编写代码五、打包六、部署七、验证总结 前言 本人是一个普通程序猿!分享一点自己的见解,如果有错误的地方欢迎各位大佬莅临指导,如果你也对编程感兴趣的话&#xff0c;互关一下&#xff0c;…

软件测试面试题及答案【史上最全】

以下是软件测试相关的面试题及答案&#xff0c;欢迎大家参考! 1、你的测试职业发展是什么? 测试经验越多&#xff0c;测试能力越高。所以我的职业发展是需要时间积累的&#xff0c;一步步向着高级测试工程师奔去。而且我也有初步的职业规划&#xff0c;前3年积累测试经验&…