git基本操作
我们可以根据文件在不同时期的状态对文件进行不同的操作。
查看文件状态
git status
# 查看简要信息
git status -s
工作区的操作
我们使用git status 查看目前工作区的修改
根据上图,我们可以发现有两个文件与版本库不同
-
README.md
发生改变的文件
可以通过
add添加到暂存区可以
restore放弃工作区的修改(还原文件) -
add.txt
没有追踪的文件
可以通过
add添加到暂存区
添加文件到暂存区
git add <file>
# 添加全部文件
git add .
我们先添加add.txt, 之后使用git status 查看状态
如上图,我们可以返现
add.txt文件的状态变了
-
add.txt
已暂存的文件,
可以通过
restore取消暂存
放弃文件的更改
git restore <file>
我们先使用restore ,再查看文件的状态
可以返现,通过status 命令已经看不到README.md 文件了
这是因为文件被还原了,和本地仓库中的是一致的
暂存区的操作
将文件从暂存区移除
此操作为add的反向操作
将文件从暂存区移除,此时文件会恢复到工作区,文件内的修改不会改变
git restore --staged <file>
# 恢复全部文件
git restore --staged .
我们先恢复文件到工作区,再查看一下文件的状态
我们可以发现,文件的状态和没有add 之前的一样了
将文件提交到本地仓库
将文件提交到本地仓库
git commit -m "注释"
我们再通过status 查看文件状态
提示没有内容需要提交
我们也可以通过log 来查看本地仓库的提交记录
git log
这里使用的是vim 编辑器,按回车可以查看更多记录,:q 可以退出。
本地仓库操作
回退到暂存区
代码从版本库回退到暂存区
git reset --soft HEAD^
回退到工作区
回退到工作区 修改的内容还在
git reset --mixed HEAD^
#或者
git reset HEAD^
回到到上一个版本
撤销commit,撤销git add ,删除工作区的改动
注意完成这个操作后,就恢复到了上一次的commit状态。
git reset --hard HEAD^
git reset 操作比较复杂,不想写了,单独开一章吧。