Git-04-版本穿梭及后悔

reset操作

如果想回退commit链的某一个节点,可以使用 git  reset命令

回退到上n次commit: git reset --hard HEAD~n  (这样子会把前n次的commit节点删除,慎用)

 

跳转到任意一次commit: 通过sha1值

如果不知道是第几次,那就要借助git reflog命令去查看(这个命令也可以帮助我们去恢复已经被删除的commit节点)

git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录

后悔操作:

1.git reflog去查看被删除的commit记录的sha1值

2. git reset --hard sha1值的前几位(回到被删除的commit节点)

 

checkout操作

reset命令会回滚到某个节点,是删除操作。

如果我们只是单纯地想回到某个节点看看,而不是想删除某些节点,那么可以用checkout命令去进行版本穿梭。

命令:git checkout sha1值   (可以用git log查看当前分支的提交记录)

用checkout 命令的版本穿梭是游离状态的,有2点需要注意:
1.修改后、必须提交
2.创建分支的好时机

 

假如commit链为   a1 --> a2 --->  a3 ---> a4

我们从a4穿回了a2节点:git checkout a2的sha1值

这时我们对某个文件进行了修改,那你必须提交后 才能离开当前节点

 

 

 提交后,我们的sha1值就会从b718dce(a2节点的sha1值)变成74b19fc(git自动帮我们开辟了一个commit节点,这个commit节点的sha1值就是74b19fc)

所以说,现在是创建分支的好时机。我们应该为新开辟的commit节点创建一个分支

命令:

git branch mybranch 74b19fc(创建分支,分支命令为mybranch 后面加上sha1值)

 

posted @ 2021-09-01 11:09  KenLoong  阅读(76)  评论(0编辑  收藏  举报