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. 填入相应配置来忽略指定文件
    注意:如果文件已经被暂存区跟踪过,可以从暂存区移除即可
相关推荐
酒尘&3 小时前
JS数组不止Array!索引集合类全面解析
开发语言·前端·javascript·学习·js
学历真的很重要4 小时前
VsCode+Roo Code+Gemini 2.5 Pro+Gemini Balance AI辅助编程环境搭建(理论上通过多个Api Key负载均衡达到无限免费Gemini 2.5 Pro)
前端·人工智能·vscode·后端·语言模型·负载均衡·ai编程
用户47949283569155 小时前
"讲讲原型链" —— 面试官最爱问的 JavaScript 基础
前端·javascript·面试
用户47949283569155 小时前
2025 年 TC39 都在忙什么?Import Bytes、Iterator Chunking 来了
前端·javascript·面试
大怪v6 小时前
【Virtual World 04】我们的目标,无限宇宙!!
前端·javascript·代码规范
狂炫冰美式6 小时前
不谈技术,搞点文化 🧀 —— 从复活一句明代残诗破局产品迭代
前端·人工智能·后端
小王不爱笑1326 小时前
gitignore基本使用+Git分支使用
git
xw57 小时前
npm几个实用命令
前端·npm
!win !7 小时前
npm几个实用命令
前端·npm
代码狂想家7 小时前
使用openEuler从零构建用户管理系统Web应用平台
前端