前端工程化基础(四):Git代码版本控制工具详解

本文详细介绍了Git版本控制工具,包括集中式(如CVS、SVN)与分布式(如Git)的区别,Git的基本操作(如克隆、提交、忽略文件、查看状态、版本回退、远程仓库操作等),以及Git的底层原理。通过实例展示了如何在开发过程中有效地使用Git进行版本管理和协作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git版本控制工具详解

认识版本控制(版本控制)

  • 是维护 工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程
  • 版本控制也是 一种软件工程技巧,借此能在软件开发的过程中,确保不同的人所编辑的同一程序都能得到同步

版本控制的功能

  • 不同版本的存储管理
    • 一个项目不断进行版本迭代,来修复之前的一些问题,增加新的功能等
    • 如果手动维护的话,效率很低
  • 重大版本的备份维护
  • 恢复之前的项目版本
  • 记录项目的点点滴滴
  • 多人开发的代码合并

集中式版本控制

CVS和SVN属于集中式版本控制系统

  • 他们的主要特点是 单一的集中管理的服务器,保存所有文件修订版本
  • 系统开发人员通过客户端 连接到这台服务器,取出最新的文件或者提交更新
  • 但是存在一个核心问题 :中央服务器不能出现故障
    • 如果宕机一个小时,在这一个小时之内,谁都无法提交更新,也就无法协同工作
    • 如果中心数据库所在的磁盘发生了损坏,且没有做备份,将会丢失所有的数据
  • 项目的历史版本都会存在于中央服务器中

分布式版本控制

  • Git是属于分布式版本控制系统

  • 客户端并不只提取最新版本的文件快照,而是把 代码仓库完整的镜像下来,包括完整的历史记录

  • 这么一来,任何一处协同工作用的 服务器发生故障事后都可以用任何一个镜像出来的本地仓库恢复

  • 因为每一次克隆操作,实际上都是一次对代码仓库的完整备份

  • 与中央服务器不同的是,项目的历史版本,都会被克隆到协作开发的本地电脑,即每台电脑上都有备份

Bash-CMD-GUI区别

  • Bash是Unix shell的一种Linux与Mac OS X都将它作为默认的shell
    • Git Bash 就是一个shell,是 windows下的命令行工具,可以执行Linux命令
    • Git Bash是基于CMD的,在CMD的基础上增加了一些新的命令与功能
  • Git CMD
    • 命令提示符(CMD)是Windows操作系统上的命令行解释程序
    • 其实就是 windows上面的CMD
  • Git GUI
    • 针对于不喜欢命令行界面的人
    • 提供了一个 图形用户界面来运行Git命令

获取Git仓库 git clone/git init

  • 当从零到一创建一个项目的时候,可以使用 git init创建一个新的仓库
    • 会生成一个.git文件

image.png

  • 运行 git add .用于告诉git 管理当前目录下的所有文件
  • 运行 git commit -m "描述"将本地文件提交到本地的git仓库中
    • 但没有提交到远程服务器中
  • 当已经有一个项目,就可以复制远程仓库的地址,运行 git clone xxxxx

文件状态的划分

  • Git在管理项目文件的时候,会对项目划分为以下几种状态
    • **未跟踪:**一般在已经被Git管理的项目中,创建新文件的情况下
    • **已跟踪:**当我们在项目文件中运行 git add .的命令后,就会将文件变为已跟踪的状态
      • **staged:**暂缓区中的文件状态,一般是在运行完 git add .命令后,就会放入暂缓区中
      • **Unmodified:**运行完 git commit -m ""命令后,文件所处的状态,代表已经将代码提交到了本地的git
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值