赞
踩
我们知道Git有三大区(工作区、暂存区、版本库)以及几个状态(untracked、unstaged、uncommited)
git reset命令是git中重置命令,即用来撤销某次提交(commit)。首先,我们得了解,git reset可以帮我们重置哪些内容:
1、修改本地仓库中commit对象(快照)
如下图:
此时本地仓库对应的是commit4,git reset 可以让本地仓库对应的指针变为commit3或是commit1等之前的版本,当然,也可以变为commit4之后的某个commit,如commit5。
Git 的分支,其实本质上仅仅是指向提交对象的可变指针。
备注:当使用git reset命令时候,一般会修改本地仓库。
其常用格式如下:
参数说明 (git log和git reflog可查看commitId,commitId是快照的唯一标识)
这种情况是工作区没有,但暂存区有,所以提示修改未在暂存区(D表示delete)
参数说明
我们需要注意,使用git reset重置一般是很危险的,会彻底地丢掉历史。因为如果没有记录下重置前的commitId,一般不容易找回,除非分析.git/logs里面的日志,故重置需慎重。
git diff只对已被追踪的文件起作用,即已git add过,在暂存区有的
git commit -a -m只对已被追踪的文件起作用,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。