文章目录
- 04.GIT本地操作-初始化工作区
- 内容
- 小结
- 05.GIT本地操作-add与commit
- 目标
- 内容
- 小结
- 06.GIT本地操作-差异比较
- 目标
- 内容
- 小结
- 07.GIT本地操作-版本回退
- 目标
- 内容
- 小结
- 08.GIT本地操作-修改撤消
- 目标
- 内容
- 小结
- 09.GIT本地操作-总结
04.GIT本地操作-初始化工作区
内容
-
初始化工作区
-
工作区 就是你在电脑里能看到的目录。比如我们刚刚创建的learn-Git目录,在最初使用的时候,我们需要初始化当前的文件夹为工作区
-
如何初始化工作区
命令:git init 初始化
在要被初始化工作区的目录右键,选择
Git Bash Here
-
输入 git init
在文件夹中机会出现一个隐藏文件 .git 如图
当我们在文件夹中添加文件的时候,那么这个文件就会被 Git 所管理
- 查看状态
我们在 该目录中创建一个 readme.txt 文件,并使用 vim 命令进入编辑模式添加内容:第一行代码。可以通过命令来查看它的状态
命令:git status 查看状态
红色代表当前没有提交到缓存区
小结
-
如何初始化工作区
git init
初始化成功的标志是有一个.git的隐藏目录 -
如何查看文件状态
git status
-
进入文件编辑模式 linux系统
vim 文件名然后 按 字母 i(前) a(后) o(下一行)插入数据然后按esc退出====最后按 :wq保存退出。
- 查看文件内容:cat 文件名 linux系统
05.GIT本地操作-add与commit
目标
可以使用 git add 将文件添加到暂存区,使用git commit 提交到本地仓库
内容
-
工作区提交缓存区
在git控制台中使用 命令
命令:git add readme.txt
这是完成了将文件由工作区提交暂存区
我们通过
git status
来查看状态发现这时文件变成绿色,可以提交到本地仓库
-
缓存区提交本地仓库
命令:git commit -m '第一次提交' 说明:-m 后面跟随的是为你提交的备注,m是单词message信息的首字母提交信息格式:增删改查第几次提交
注意:如果第一次提交需要填写如下内容:
命令:git config --global user.email '123456@qq.com' 说明:指定邮箱 命令:git config --global user.name 'xiaowang' 说明:指定操作者
小结
-
说一下
git add
的作用将工作区的文件添加到暂存区
-
说一下
git commit
的作用将文件从暂存区提交到本地仓库
git commit -m '信息'
-
扩展:
添加多个文件 git add [file1] [file2] ... 添加指定目录到暂存区,包括子目录 git add [dir] 添加当前目录下的所有文件到暂存区,不包括被删除的文件 git add . 重要 add 时,一个个文件加比较麻烦,可以用下面的命令将所有变动的文件同步至暂存区(新增、修改、删除) git add -A 下面的命令是将所有修改和删除的文件同步至暂存区,不包括新增文件 git add -u
06.GIT本地操作-差异比较
目标
使用 git diff
来比较暂存区、本地库与工作区的内容
内容
使用 vim 命令,对 readme.txt 文件进行编辑,添加我是第二行代码,使用:wq退出
-
工作区暂存区比较
命令:git diff readme.txt
-
工作区本地库比较
命令:git diff HEAD readme.txt
-
暂存区本地库比较
命令:git diff --cached readme.txt
这里缓存区和本地库没有不同所以没有内容
-
补充:可以第二次提交到暂存区和本地仓库
小结
-
工作区与暂存区如何比较
git diff 文件名
-
工作区与本地库如何比较
git diff HEAD 文件名
-
暂存区与本地库如何比较
git diff --cached 文件名
07.GIT本地操作-版本回退
目标
掌握 git log、git reflog、git reset 作用
内容
当我们从暂存区提交到本地仓库时,发现当前的提交的版本有问题,希望回退到指定版本如何操作呢?
使用vim命令编辑readme.txt,添加“我是第三行代码”
命令:git add readme.txt 提交到暂存区
命令:git commit -m '第三次提交' 提交到本地仓库
我们可以通过git提供的查看日志命令来查看提交的日志
命令:git log 查看当前提交日志
图略.
可以发现,目前为止,我们已经在本地仓库中提交了3次,也就是说有3个不同版本。其中,最近的这个版本有一个标示:HEAD-> master 这就是标记当前分支的当前版本所在位置,如果没有显示当前所在位置可以使用下面命令查看:
命令:git log --decorate 查看当前提交日志,且显示当前分支的当前版本所在位置
在log中,每一个版本的前面,都有一长串随即数字: ab44a10787c2db2bccd7ceb9c39dcf06d309065518d4b ,这是每次提交的 commit id ,这是通过SHA1算法得到的值,Git通过这个唯一的id来区分每次提交
-
回退到之前版本
命令:git reset --hard HEAD^回归到上一个版本,Git通过HEAD来判断当前所在的版本位置。那么上一个版本,就用HEAD^标示,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
这时我们可以在查看一下日志 git log
图略
发现只有两个版本,我们在查看一下文件内容
图略
-
回退到指定版本
图略
首先使用
命令: git reflog 查看所有操作
找到之后可以使用如下命令进行回退到指定版本
命令:git reset --hard 版本号 回退到指定版本
我们回到第三次提交,这时我们在查看文件
小结
-
如何查看当前日志
git log 只能看到当前操作
-
如何查看所有操作日志
git reflog 查看所有操作日志
-
如何回退到上一个版本
git reset --hard head^
-
如何回退到指定版本
git reset --hard 版本号
08.GIT本地操作-修改撤消
目标
掌握 git checkout、git reset head作用
内容
当我们工作区内容想要提交到缓存区时【add】,突然发现有问题,想要撤销该如何处理?
当我们已提交到缓存区的内容,发现出现了bug,这时又应该如何处理哪?
以上操作我们可以使用GIT提供的撤销命令来完成
-
工作区撤销修改
编辑readme.txt添加“我是第四行”
在你提交缓存区前,你突然发现这个修改是有问题的,你打算恢复到原来的样子。怎么办?
使用 git status 命令查看当前状态
命令:git checkout 文件名称 撤销工作区修改
我们撤销后,在查看文件中内容,发现工作区内容已经撤销,并查看状态,发现状态很干净
-
暂存区撤销修改
使用 vim 命令 编辑readme.txt添加“我是第五行”
使用git add提交文件至暂存区
撤销到工作区
命令:git reset HEAD readme.txt 撤销到工作区
工作区撤销 git checkout readme.txt
我们在查看文件,发现已经恢复到最初始样子
小结
-
如何实现工作区撤销修改
git checkout 文件名
-
如何撤销缓存区内容
git reset HEAD 文件名
09.GIT本地操作-总结
- 初始化工作区 git init
- 查看状态 git status
- 提交
- 工作区提交暂存区 git add 文件
- 暂存区提交本地库 git commit -m ‘提交信息’
- 差异比较
- 工作区缓存区比较 git diff 文件名
- 工作区本地库比较 git diff HEAD 文件名
- 缓存区与本地库比较 git diff --cached 文件名
- 版本回退
- 查看日志 git log
- 回退到上一个版本 git reset --hard head^
- 查看所有操作日志 git reflog
- 回退到指定版本 git reset --hard 版本号
- 修改撤消
- 工作区撤消 git checkout 文件名
- 撤消缓存区(从缓存区撤销到工作区) git reset head 文件名