【学习心得】Git深入学习

若您还未安装Git或是只想简单使用,可以先看看我的文章“Git快速上手”http://t.csdnimg.cn/gsaGj

一、深入学习Git必须熟悉两个概念

(1)【四个区】Git本地有三个区,远程仓库也可以看出成一个区域

工作区、暂存区、本地仓库、远程仓库

【学习心得】Git深入学习_第1张图片

通过四句话来充分理解这三个区

  • 第一句话:你创建的一个文件夹,并且将它初始化成了一个Git管理的仓库(或者你从远程克隆下来了一个仓库)那么这个文件夹就是你本地仓库的工作区。
  • 第二句话:工作区中的文件或者文件夹如果发生了“变动”,需要先将“变动”添加到暂存区才能将这种“变动”提交到本地仓库,也就是上图中箭头的方向,我叫它正方向操作。(变动可以是新增、删除、修改等等)
  • 第三句话上图中的箭头也可以反过来,我叫它逆方向操作,反过来的这种行为就是回退版本,是一种版本控制行为。
  • 第四句话:回退版本的意思就是将仓库里的内容回退到暂存区和工作区,如果commit提交到了仓库,那么仓库就发生了一次状态变化,仓库中的状态就是版本。(版本 == 仓库状态,上一个版本 == 提交前的仓库状态, 当前版本 == 当前仓库的状态)

(2)【文件的四种状态】

  • 未跟踪:如果一个文件放在工作区里面,但他没有被Git管理,那么就称这个文件未被Git跟踪故叫做未跟踪。
  • 未修改:如果一个文件只是放在工作区里,没有任何修改,那么就称这个文件为未修改状态。
  • 已修改:如果一个文件工作区里被修改了,那么就称这个文件为已修改状态。
  • 已暂存:如果一个工作区里的文件被git add命令添加到了暂存区,那么就称这个文件为已暂存状态。

二、深入学习Git必须掌握逆方向操作

(1)复习一下正方向操作

# 将工作区里的文件添加到暂存区(文件被Git跟踪,跟踪=管理)
git add . 

# 将暂存区里的文件提交到本地仓库
git commit -m '说明'

# 将本地仓库里的文件推送到远程仓库
git push

其实如果你的操作是删除文件,或者修改文件,上述的注释会让你困惑,所以我更愿意用下面这种注释。

# 将工作区里的文件的“变动”添加到暂存区

# 将暂存区里的文件的“变动”提交到本地仓库

# 将本地仓库里的文件的“变动”推送到远程仓库

例如:如果你的变动是删除,那么意思就是将你在工作区删除文件这种操作行为添加到暂存区,也就是让暂存区也进行删除文件的操作。

(2)逆方向操作的学习

# 远程仓库中的改动拉取到本地仓库
git pull

# 将本地仓库里的文件退回暂存区和工作区
git reset [版本号]

# 将暂存区的文件删除(如果文件之前提交过,那么删了暂存区和工作区里的,但本地仓库里还有)
git rm filename

# 将暂存区的文件退回工作区(也就是让文件状态变成未暂存)
git restore --staged filename

需要说明git rm a.txt会把暂存区和工作区的a.txt文件都删掉。而git restore --staged a.txt只会删除暂存区里面的a.txt 

三、深入学习Git必须掌握分支

        这一块儿的内容后续更新哟(^o^)

你可能感兴趣的:(【学习心得】,git,学习)