GIt之相关概念和基本操作理解

一、git基本概念

(1)基本概念入手

git的基本操作就不介绍了,直接基本概念入手吧
先附上一张图
在这里插入图片描述

  • 工作区:就是我们平时在本地打开的工作目录
  • 版本库:就是工作目录下有一个.git的 文件夹,这个文件夹里包含的内容就是git 的版本库
  • 暂存区:也叫索引,是存放在.git下的index文件

可以看到右图中版本库中,我还标记了两个文件

  • HEAD,这个文件里面是一个ref/【游标】指向了git当前所在的分支
  • object,为git 的对象库,里面存放的是创建的各种对象及其内容【有兴趣的可以打开看看】

(2)git命令解析

1. git add

添加文件到仓库

  1. 暂存区【.git/index】的目录树更新;
  2. 工作区中的新增/修改的内容被写到对象库【.git/object】中的一个新的对象中
  3. 这个新生成的对象的ID被记录在暂存区【.git/index】中

2. git commit

提交暂存区到本地仓库

  1. 暂存区【.git/index】的目录树写入版本库【.git的文件夹】中
  2. HEAD所指向的目录树就是提交时【git add】暂存区的目录树
  3. 此时远程git仓库不会做任何更新

3. git reset HEAD

回退版本

  1. 暂存区【.git/index】的目录树被重写,被HEAD所指向的目录树所替换
  2. 工作区不受影响

4. git rm --cached <file>

删除工作区/暂存区文件

  1. 从暂存区【.git/index】删除文件
  2. 工作区不作修改

5. git checkout ./ git checkout --<file>

  1. 使用暂存区的全部/指定文件替换工作区的文件
  2. 会清除工作区中未添加到暂存区的改动

6. git checkout HEAD / git checkout HEAD <file>

  1. 使用HEAD所指向的分支中的全部/部分文件来替换工作区和暂存区中的文件
  2. 清除工作区中未提交的改动
  3. 清楚暂存区中未提交的改动

二、git基本操作

(1)git pull

git pull === git fetch + git merge FETCH_HEAD
做了两个事情

  1. 从远程仓库获取代码
  2. 合并本地版本

命令格式如下:
git pull <远程主机名> <远程分支名>:<本地分支名>

例子:

将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。
git pull origin master:brantest

如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git pull origin master. 取回 origin/master 分支,再与本地的 brantest 分支合并。

(2)git fetch

从远程获取代码库
该命令执行完后需要执行 git merge将远程分支更新到你所在的分支。
例:

假设你配置好了一个远程仓库,并且你想要提取更新的数据,你可以首先执行:

git fetch [alias]
以上命令告诉 Git 去获取它有你没有的数据,然后你可以执行:

git merge [alias]/[branch]
以上命令将服务器上的任何更新合并到你的当前分支。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值