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 "[email protected]"

掌握 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. 填入相应配置来忽略指定文件
    注意:如果文件已经被暂存区跟踪过,可以从暂存区移除即可
相关推荐
5:0012 分钟前
Qt:(创建项目)
java·前端·qt
green_pine_15 分钟前
CSS学习笔记12——CSS3新增特性
前端·css·笔记·学习
Wenhao.27 分钟前
Go-web开发之帖子功能
开发语言·前端·golang
蓝婷儿35 分钟前
前端面试每日三题 - Day 22
前端·面试·职场和发展
java1234_小锋40 分钟前
如何配置NGINX作为反向代理服务器来缓存后端服务的响应?
前端·nginx·缓存
试着44 分钟前
【AI面试准备】Git与CI/CD及单元测试实战指南
git·ci/cd·面试
大鱼天1 小时前
intellij idea最新版git开启Local Changes
java·git·intellij-idea
A_aspectJ1 小时前
【Bootstrap V4系列】学习入门教程之 表格(Tables)和画像(Figure)
前端·bootstrap·dreamweaver
同聘云1 小时前
腾讯云web服务器配置步骤是什么?web服务器有什么用途?
服务器·前端·腾讯云
巴巴_羊1 小时前
CSS八股 3
前端·css