0
点赞
收藏
分享

微信扫一扫

Git使用 从入门到入土 收藏吃灰系列(四) Git工作原理

我阿霆哥 2022-02-04 阅读 77
gitgithub

一、前言

  • 参考安装Git 详细安装教程
  • 参考视频B站 Git最新教程通俗易懂,这个有点长,感觉讲的精华不多
  • 参考视频『Git』知道这些就够了_哔哩哔哩_bilibili,这个精华多,推荐看这个
  • 参考视频7小时学会Git 基础全套完整教程(从入门到精通)_哔哩哔哩_bilibili,这个虽然长,但是他偏实践,对小白友好,特别有意思
  • 附一个Git动画学习网站
  • Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com)

讲讲小张的感受:我没有接触过Git,所以看了很多视频,对于入门使用确实只要知道git clone,git add,git commit,git push,git merge,确实也就足够了。但是我很好奇背后的原理,为什么要用git add到暂存区而不是直接git commit?很多指令之间为什么要按一定的顺序执行?所以这个系列我以初学的时候,小白的角度从安装到工作原理(有的是我自己的见解,如果感觉不对,欢迎指正),再到实际应用!另外,推荐看一遍第三个参考视频,然后看一下第二个参考视频,对工作原理的讲解和实际应用确实不错!

一、Git基本理论(核心)

1.1工作区

Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory) 就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:

g-omANGuvX-164398023273

  • Workspace: 工作区,就是你平时存放项目代码的地方
  • Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息(.git 隐藏文件)
  • Repository: 仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

暂存区、仓库区不需要管理,通过命令操作即可

本地的三个区域确切的说应该是git仓库中HEAD指向的版本:

g-IJ5jNdbC-1643980347728

  • Directory: 使用Git管理的一个目录,也就是一个仓库,包含我们的工作空间和Git的管理空间
  • WorkSpace: 需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间
  • .git: 存放Git管理信息的目录,初始化仓库的时候自动创建
  • Index/Stage: 暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在暂存区
  • Local Repo: 本地仓库,一个存放在本地的版本库;HEAD会只是当前的开发分支(branch)
  • Stash: 隐藏,是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态

1.2工作流程

1.2.1git的工作流程:

1、在工作目录中添加、修改文件;(eg:新建 小张.java)

2、将需要进行版本管理的文件放入暂存区域;(git add 小张.java提交JAVA程序或者git add .提交文件目录下所有程序)

3、将暂存区域的文件提交到本地仓库。(git commit暂存区文件提交到git仓库)

因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

下一期介绍如何创建本地仓库

举报

相关推荐

0 条评论