Git版本控制系统入门

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

目录

[Git 初识](#Git 初识)

[Git 安装](#Git 安装)

[Git 配置用户信息](#Git 配置用户信息)

[掌握 Git 仓库](#掌握 Git 仓库)

[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. 涉密文件,密码,秘钥等文件
    创建:
  5. 项目根目录新建 .gitignore 文件
  6. 填入相应配置来忽略指定文件
    注意:如果文件已经被暂存区跟踪过,可以从暂存区移除即可
相关推荐
万少10 分钟前
HarmonyOS 开发必会 5 种 Builder 详解
前端·harmonyos
橙序员小站2 小时前
Agent Skill 是什么?一文讲透 Agent Skill 的设计与实现
前端·后端
炫饭第一名5 小时前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员
王晓枫5 小时前
flutter接入三方库运行报错:Error running pod install
前端·flutter
符方昊5 小时前
React 19 对比 React 16 新特性解析
前端·react.js
ssshooter5 小时前
又被 Safari 差异坑了:textContent 拿到的值居然没换行?
前端
曲折5 小时前
Cesium-气象要素PNG色斑图叠加
前端·cesium
Forever7_6 小时前
Electron 淘汰!新的桌面端框架 更强大、更轻量化
前端·vue.js
Angelial6 小时前
Vue3 嵌套路由 KeepAlive:动态缓存与反向配置方案
前端·vue.js
jiayu6 小时前
Angular学习笔记24:Angular 响应式表单 FormArray 与 FormGroup 相互嵌套
前端