Git的四大区域

前提

工作目录,暂存区域和本地仓库组合,构成了你的本地环境。远程仓库则是一个单独的Git仓库,他就是在网上的一个仓库。
Git四大区域

工作目录

本地系统的任何目录或者目录树(就是指文件夹)都可以成为Git仓库的工作目录。工作目录可以拥有形成整体工作区的任意数量子目录。(就是说可以有无限多个子文件夹,当然这只是理论,太多文件夹会导致上传速度非常缓慢)

使用初始化git init以后,所有的子目录就会成为工作目录的一部分。除非使用.gitgnore文件忽略他们或者他们是Git子模块的一部分。(后面会提到)

暂存区域

暂存区在很多初学者看来都是没有必要的一个区域,但实际上,它在Git中充当了非常重要的角色。

暂存区的意义

暂存区就是提交到本地仓库之前的一个暂存变更的地方。
而这个区域的实用性方式有两种:用户发起的以及Git发起的。这两种方式都为用户提供了好处,其差别在于,在哪个操作或过程中,将内容放入该级别。

准备场景

在这个场景中,用户将其在工作区中完成的变更放到暂存区。如果要对很多文件进行变更以便于修复一个bug,只改了一个小文件就上传了,将会导致仓库中造成混乱。而如果有了一个暂存区,当改了一个小文件,先放到暂存区,一直等到我们将所有要改的文件都放到暂存区再一起推送,这就不会导致仓库混乱。

修复场景

我们知道,Git是可以修改历史的,也就是说,他们可以修改仓库中之前的提交。而这个操作允许用户从仓库中拉取回最后一次提交,更新其内容,并且将更新后的提交推送回前一次提交的位置。(具体怎么做,后面会说)

Git何时会使用暂存区域?

我们在处理合并冲突的时候,通常就会在暂存区中使用。(具体怎么做,后面会说)

本地仓库

本地仓库存于用户本地机器上Git级别的最后一部分,内容一旦被创建或更新并且之后被暂存,他就准备好被提交到本地仓库中。

本地仓库好的一面是他当前用户独占使用的一个源仓库,在用户对内容感到满意之前还能进行修改。之后会将内容发送到远程仓库,并在远程仓库可以给别的用户使用。前面也说道了,Git是可以断网进行源控制操作的,就是说在断网的情况下,也是可以提交到本地仓库的。

缺点就是如果本地没同步到远程仓库,如果本地仓库不小心被删除,就有可能导致数据丢失。

远程仓库

远程仓库是多个Git用户从各自本地仓库向上同步变更的地方。

我们需要注意几个要点:

  1. 远程仓库是唯一的。同一个项目通常我们会用同一个远程仓库。
  2. 可以根据需要,多次将远程仓库克隆到不同的本地仓库。
  3. 远程仓库不会对内容进行面向用户的更改,比如解决冲突。如果内容向远程推送时需要解决冲突,就必须要拉回到本地来进行冲突解决。

Git中不同级别之间移动的核心命令

出发 目的地 命令 备注
工作目录 暂存区域 add 暂存本地变更
暂存区域 本地仓库 commit 仅提交暂存区中的内容
本地仓库 远程仓库 push 推送到远程仓库
本地仓库 工作目录 checkout 切换当前分支
远程仓库 本地环境 clone 创建本地仓库和工作目录(这里只有一个空文件夹,没有初始化)
远程仓库 本地仓库 fetch 更新远程分支的引用(这里已经初始化了)
远程仓库 本地仓库和工作目录 pull 抓取和合并到本地分支和工作目录

四大区域之间转换

猜你喜欢

转载自blog.csdn.net/weixin_44004835/article/details/111047770
今日推荐