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. 填入相应配置来忽略指定文件
    注意:如果文件已经被暂存区跟踪过,可以从暂存区移除即可
相关推荐
90后的晨仔21 小时前
从 H5 到 uni-app:一篇写给前端小白的"翻译指南"
前端·vue.js·前端框架
陈随易21 小时前
moon,apt和yum之外linux系统命令安装新选择
前端·后端·程序员
IT小盘1 天前
13-企业Prompt模板-角色任务约束与输出格式
java·前端·prompt
徐小夕1 天前
开源!我用SQLite + DuckDB打造了一款可视化AI问数平台
前端·算法·github
维基框架1 天前
OpenAI在给Git做优化 上游行为要变了
人工智能·git
1名持续学习的码农1 天前
GPT Plus、GPT Pro用户第一次用Codex,项目权限和Git分支怎么设置?
人工智能·git·gpt·elasticsearch·ai编程·codex
leslie1181 天前
babel笔记
前端
用户059540174461 天前
Redis 记忆存储踩坑实录:一个并发写入 Bug 让我排查了 4 小时
前端·css
小徐_23331 天前
Wot UI 2.3.0 发布:二维码组件来了,Open Wot 与 wot-starter 同步更新
前端·微信小程序·uni-app
kyriewen1 天前
Claude自己跑出去hack了3家公司——我为什么还在用它写代码
前端·ai编程·claude