文章目录
(二)Git——基本操作
工作机制
Git的工作机制主要分为三个区,工作区,暂存区,历史区。工作区很好理解,就是我们工作的地方,然后暂存区,就是用来放我们写好的代码,最终把成稿提交到版本库。之所以不直接提交到版本库就是怕到时候版本库特别乱,到处都是各个版本的修订版,具体如下图所示。
托管平台
-
局域网(内网)
- gitlab
-
公网(外网)
- gitlab
- github
- gitee
内网主要就是安全,但是搭建成本较高。而外网成本不高,但是不安全。为此,外网有私有和共有之分,顾名思义,私有的话你必须有相应的权限才能进入,确保了一定的安全性。
命令
提交暂存区
git add
这个就是将我们的文件或者文件夹添加到暂存区的命令,主要有下面几种。
# 添加一个文件
git add first.txt
# 添加一个文件夹(非空)
git add css/
# 添加所有文件
git add --all
git add .
查看
git status
这个就是查看我们现在的状态的代码。我们需要知道,绿色的就代表现在这个文件夹在暂存区。
git status
删除暂存区
git rm –cached
这个是用来删除暂存区的文件的,其实在上面也有提示。
git rm --cached
这样就删除了,颜色变成红色。
提交历史区
git commit
这个就是把我们在暂存区的代码放到历史区了。
git commit -m "first功能实现"
如果没有加 -m,就会进入文件,它一定要你留下为什么提交这次记录才会让你走。这个时候,先按下i键,进入insert模式。
然后写下这次的记录名称,按下ESC键,之后输入:wq(一定要半角的,不然输入不了)
查看记录
git log
这个就能查看我们历史区的记录了,但是只能查看到指针之前的记录。
git log
git reflog
这个就可以查看到所有的记录了。
git reflog
版本穿梭
git reset –hard
回退
这个就是我们用来回退版本用的指令,其实就是改变HEAD指针的位置,然后文件直接会退到工作区。
# 回退到上一次
git reset --hard HEAD^
# 回退到多次前
git reset --hard HEAD^^
git reset --hard HEAD~2
打开工作区文件,会发现确实回到了第一次提交的代码。
穿梭
把HEAD改成之前版本的地址,就可以实现穿梭的操作,地址可以由git reflog查看。
git reset --hard 112154a
git reset –soft
这个是软复位,主要功能就是把文件退到暂存区,主要用来改记录名称和为了历史区的修改,接下来我来展示一下第二种功能。
可以看到,bug已经修复,然后历史区也是非常清晰的,没有两份提交记录。
git revert
这个其实也算是版本穿梭,与git reset 不同的地方就在于这个命令是重新创建一个新的记录,但是内容却是你想回退版本的内容。可以看到,版本其实回到了2版本,但是却是多加了一条记录。
git revert HEAD