Git的基本操作流程及工作区版本库暂存区的关系

 更新时间:2022年04月24日 09:37:34   作者:繁华似锦Fighting  
这篇文章主要为大家介绍了Git的基本操作流程及工作区版本库暂存区的关系,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

1、Git的基本操作流程

  • 初始化一个本地版本库,每个版本库仅需要执行一次。
  • 将中央版本库内容克隆到本地版本库,每个客户机仅需要执行一次。
  • 添加指定文件到版本控制管理(这一步只是添加到Git暂存区)。
  • 将添加、修改等操作,提交到本地版本库(将暂存区的内容提交到本地版本库)。
    如果远程仓库的内容被别人修改了,需要先同步远程的内容,直接git pull就可以更新本地的文件,然后再提交。再这过程中可能需要解决冲突。
    在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。
  • 将本地版本库中的修改内容“推送”到中央版本库,客户机需要在一阶段性工作完成之后,或在某些时间点(下班,周五),将修改过的内容备份到中央版本库,方便他人更新到最新的代码。
  • 将中央版本库中的变化内容“拉取”本地版本库,客户机需要不定时的更新才可以获取最新的内容。

提示:实际工作中的很多功能和操作都在第3、4步中。

如下图:

说明:

上面内容涉及到Git中的几个区域:

workspace:工作区。

staging area:暂存区/缓存区。

local repository:版本库或本地仓库。

remote repository:远程仓库。

2、工作区、暂存区、版本库的区别

我们先来理解下Git 工作区、暂存区和版本库概念,这对以后我们学习Git命令会有非常大的帮助。

(1)工作区

就是你在电脑里能看到的目录。

一般我们执行git init命令,就能把一个目录初始化成Git本地版本库。

而这个目录就是该Git本地版本库的工作区。

如下图:git-demo1目录就是一个本地仓库。

具体结构如下图:

(2)版本库

版本库:工作区(项目根目录)有一个隐藏目录.git,这个目录就是版本库,而该目录不算工作区。

具体结构如下图:

(3)暂存区

暂存区:

  • 暂存区从字面上去理解就是用来暂时保存文件的地方,实际上它的作用和它的名字是一致的,暂存区可以起到过渡的作用,当我们写代码修改了一些文件的时候,可以把修改的代码提交到暂存区保存,然后接着写代码,接着再提交到暂存区保存,写完某些代码觉得没什么可以修改的时候,可以将暂存区里面的文件一次性提交到版本库。
  • 暂存区英文叫stage,或index。
  • 暂存区是包含在版本库中的,一般存放在.git目录下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。

暂存区位置如下图:

具体结构如下图:

说明:

版本库又存在两个很重要的区域:暂存区与分支区。

分支区:该区域中可以包含很多分支,而每个分支都可以记录当前工作区中文件状态的快照。

如下图:

即:分支区就相当于本地版本库。

(4)通过新增文件理解三个区的关系

1)工作区新加文件 index.html。

2)将index.html提交到暂存区。

3)将暂存区内的内容提交到版本库。

4)将本地版本推送到Github上。

(5)说明

我们只要知道Git的整体操作流程即可,脑子中有一个宏观的概括就可以。关于每一步是如何操作的,和具体使用的命令,我们以后会一步一步的进行详解。

参考:https://www.jb51.net/article/245735.htm

以上就是Git的基本操作流程及工作区版本库暂存区的关系的详细内容,更多关于Git操作流程工作区版本库暂存区的资料请关注脚本之家其它相关文章!

相关文章

  • 微信小程序开发工具介绍

    微信小程序开发工具介绍

    这篇文章主要为大家介绍了微信小程序开发工具及基本的使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • delphi使用Chilkat 组件和库从SFTP下载文件的方法

    delphi使用Chilkat 组件和库从SFTP下载文件的方法

    这篇文章主要介绍了delphi使用Chilkat 组件和库从SFTP下载文件的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • HTTP状态代码集合 方便查询

    HTTP状态代码集合 方便查询

    HTTP协议是基于请求/响应范式的。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为,统一资源标识符、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
    2011-02-02
  • ChatGPT平替-ChatGLM环境搭建与部署运行效果

    ChatGPT平替-ChatGLM环境搭建与部署运行效果

    这篇文章主要介绍了ChatGPT平替-ChatGLM环境搭建与部署运行,本节将介绍环境搭建与基本部署效果,结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 详解git submodule update获取不到最新提交的代码

    详解git submodule update获取不到最新提交的代码

    这篇文章主要介绍了详解git submodule update获取不到最新提交的代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Git远程操作详解

    Git远程操作详解

    本文针对初级用户,从最简单的讲起,但是需要读者对Git的基本用法有所了解。同时,本文覆盖了上面5个命令的几乎所有的常用用法,所以对于熟练用户也有参考价值。
    2014-08-08
  • 比特币上的数独游戏合约的实现代码

    比特币上的数独游戏合约的实现代码

    这篇文章主要介绍了比特币上的数独游戏合约的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • ApacheBeam中的延迟数据处理方法

    ApacheBeam中的延迟数据处理方法

    Apache Beam是一个用于批处理和流处理的统一编程模型,可以处理实时数据流和批量数据,本文给大家介绍ApacheBeam中的延迟数据处理方法,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • 消息队列应用场景介绍

    消息队列应用场景介绍

    这篇文章介绍了消息队列的应用场景,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • 解决Jrebel用户名中文导致用不了的问题

    解决Jrebel用户名中文导致用不了的问题

    这篇文章主要介绍了解决Jrebel用户名中文导致用不了的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-10-10

最新评论