Open innerWang opened 4 years ago
HEAD指向当前版本,git允许我们在版本的历史之间来回切换,
git reset是根据设定的commit_id来回移动HEAD
git reset
commit_id
使用命令为:
$ git reset --hard commit_id $ git reset --soft commit_id
示例如下: 首先查看提交历史,可以看到最新一次的提交的commit_id为8c2330d
此时进行两次git reset --hard操作,可以看到HEAD节点来回移动
git reset --hard
由于又移动回8c2330d,此时git log得到的commit记录与开始测试时的一致,再继续进行git reset --soft操作并使用git status查看当前目录状态,可以发现与hard操作不同的是,在暂存区存在未commit的文件
8c2330d
git log
git reset --soft
git status
可以git log查看到HEAD指针已经移动到所设定的commit_id对应的记录,此时对暂存区的文件进行提交操作
可以看到由于刚刚的commit操作,新增了一条记录
git revert是用一次新的commit 来回滚之前的commit,会产生一次新的提交,这次提交会将需要revert的内容反向修改回去,版本会递增,但是不会影响之前提交的内容。
git revert
$ git revert commit_id
接续上述操作进行revert操作,git log 后可以看到新增了一次提交记录,同时本地的index.html会被删除。
HEAD指向当前版本,git允许我们在版本的历史之间来回切换,
git reset
git reset
是根据设定的commit_id
来回移动HEAD使用命令为:
示例如下: 首先查看提交历史,可以看到最新一次的提交的commit_id为8c2330d
此时进行两次
git reset --hard
操作,可以看到HEAD节点来回移动由于又移动回
8c2330d
,此时git log
得到的commit记录与开始测试时的一致,再继续进行git reset --soft
操作并使用git status
查看当前目录状态,可以发现与hard操作不同的是,在暂存区存在未commit的文件可以git log查看到HEAD指针已经移动到所设定的commit_id对应的记录,此时对暂存区的文件进行提交操作
可以看到由于刚刚的commit操作,新增了一条记录
git revert
git revert
是用一次新的commit 来回滚之前的commit,会产生一次新的提交,这次提交会将需要revert的内容反向修改回去,版本会递增,但是不会影响之前提交的内容。接续上述操作进行revert操作,git log 后可以看到新增了一次提交记录,同时本地的index.html会被删除。