Git 基础知识梳理

版本控制

什么是版本控制?

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

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

为什么需要版本控制?

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

三大版本控制系统

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 版本控制工具的分支管理工作流程,它定义了一套完整的分支模型,包括主分支、开发分支、功能分支、修复分支等,旨在优化团队协作、版本发布和代码质量等方面的工作流程。

学习参考

Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐