沉梦听雨的编程指南 沉梦听雨的编程指南
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 多媒体框架
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)

沉梦听雨

时间是最好的浸渍剂,而沉淀是最好的提纯器🚀
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 多媒体框架
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)
  • 开发工具篇

    • idea相关

    • 玩转Git

      • 基础知识梳理
        • 版本控制
          • 什么是版本控制?
          • 为什么需要版本控制?
          • 三大版本控制系统
          • 1、本地版本控制系统
          • 2、集中化的版本控制系统
          • 3、分布式版本控制系统
        • 在开发中,常用的 git 开发操作流程是怎样的?
        • Git 快速入门
          • Git 有哪三种状态?
          • Git 关联 idea 文件颜色的意思?
          • Git 项目的三个工作区域
          • 基本的 Git 工作流程
          • 查看 Git 版本号
          • 什么是 Git Flow
        • 学习参考
      • Git配置相关操作
      • git修改已提交人的用户名和邮箱
      • git提交规范
      • git分支管理
      • git常用操作
      • 常见问题
    • Maven相关

    • 前端工具

    • 测试工具

  • 工具库篇

  • 开发技巧篇

  • 工具类系列

  • 随笔

  • 开发日常
  • 开发工具篇
  • 玩转Git
沉梦听雨
2024-07-30
目录

基础知识梳理

# Git 基础知识梳理

命令学习:Learn Git Branching (opens new window)

Git 命令大全:Git 大全 (opens new window)

# 版本控制

# 什么是版本控制?

版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。关键时刻,可以回退版本。

除了项目源代码,你可以对任何类型的文件进行版本控制。

# 为什么需要版本控制?

  • 版本控制可以让你将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。
  • 你还可以通过提交的历史记录来比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷等等。

# 三大版本控制系统

# 1、本地版本控制系统

方便个人管理项目文件。

大多都是采用某种简单的数据库来记录文件的历次更新差异。

# 2、集中化的版本控制系统

为解决开发者协同合作问题而生。

都有一个单一的集中管理的服务器,可以保存所有文件的修订版本,协同工作的开发者们都可以通过客户端连到这台服务器,取出最新的文件或者提交更新。

有两个问题:

  1. 单点故障: 中央服务器宕机,则其他人无法使用;如果中心数据库磁盘损坏又没有进行备份,你将丢失所有数据。本地版本控制系统也存在类似问题,只要整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险。
  2. **必须联网才能工作:**受网络状况和网络带宽影响。

# 3、分布式版本控制系统

为解决上面的问题面世,比如:Git

有以下几个优点:

  1. 这类系统,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地克隆下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个克隆出来的本地仓库恢复。因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
  2. 可以不用联网工作,因为每个人的电脑上都是完整的版本库。
  3. 强大的分支管理功能。

# 在开发中,常用的 git 开发操作流程是怎样的?

在使用 Git 进行开发时,常用的操作流程包括:

  1. 创建 Git 仓库:使用 git init 命令初始化一个新的 Git 仓库。也可以使用 git clone 命令克隆一个远程仓库到本地。

  2. 添加文件到暂存区:使用 git add 命令将修改的文件添加到 Git 的暂存区中。

  3. 提交修改:使用 git commit 命令提交修改。可以使用 -m 参数指定提交的注释信息。

  4. 分支操作:使用 git branch 命令创建、删除、查看分支。使用 git checkout 命令切换分支。

  5. 合并分支:使用 git merge 命令将一个分支合并到当前分支。

  6. 推送修改:使用 git push 命令将本地修改推送到远程仓库。

  7. 拉取修改:使用 git pull 命令从远程仓库拉取最新修改。

  8. 查看修改历史:使用 git log 命令查看提交历史。

  9. 撤销修改:使用 git reset 命令撤销某次提交。可以使用 --soft 参数保留修改到暂存区,使用 --mixed 参数保留修改到工作区,使用 --hard 参数彻底删除修改。

  10. 标签操作:使用 git tag 命令创建、删除、查看标签。标签可以用于标记某个版本,便于后续查找和发布。

# Git 快速入门

# Git 有哪三种状态?

  1. 已提交(committed):数据已经安全的保存在本地数据库中。
  2. 已修改(modified):已修改表示修改了文件,但还没保存到数据库中。
  3. 已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

# Git 关联 idea 文件颜色的意思?

  1. 红色(red),未加入版本控制
  2. 绿色(green),已经加入版本控制暂未提交
  3. 蓝色(blue),加入版本控制,已提交,有改动
  4. 白色(white),加入版本控制,已提交,无改动
  5. 灰色(grey):版本控制已忽略文件

# Git 项目的三个工作区域

  1. 工作目录(working)
  2. 暂存区域(index)
  3. Git 仓库(HEAD)

working =add=> index =commit=> HEAD =push=> 远程仓库

image

# 基本的 Git 工作流程

  1. 准备仓库:创建或从服务端克隆一个仓库。
  2. 搬砖:在工作目录中添加、修改代码。
  3. 暂存(git add):将需要进行版本管理的文件放入暂存区域。
  4. 提交(git commit):将暂存区域的文件提交到 Git 仓库。
  5. 获取更新(fetch/pull):从服务端更新到本地,获取他人推送的更新,与他人协作、共享
  6. 分支合并(git merge)
  7. 推送(git push):将本地仓库推送到远程仓库,同步版本库。
  • 在工作目录中修改文件。 -- 即写代码

  • 暂存文件,将文件的快照放入暂存区域。 -- 即表示已修改,文件变蓝色

  • 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录中。

文件的快照:就是指 文件的数据。是 Git 版本控制的核心。

# 查看 Git 版本号

指令:git -- version

# 什么是 Git Flow

Git Flow 是一种基于 Git 版本控制工具的分支管理工作流程,它定义了一套完整的分支模型,包括主分支、开发分支、功能分支、修复分支等,旨在优化团队协作、版本发布和代码质量等方面的工作流程。

# 学习参考

  • git - 简明指南:git - the simple guide - no deep shit! (rogerdudler.github.io) (opens new window)
上次更新: 2024/11/21 18:18:30
插件篇
Git配置相关操作

← 插件篇 Git配置相关操作→

Theme by Vdoing | Copyright © 2023-2025 沉梦听雨 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式