git 版本回退,撤销git pull

在程序开发过程中,难免会有“后悔”的时候。此时,如果你用了版本控制系统git,那么还有的救,当然前提是每个版本都提交了。

git版本回退

1.先查询一下当前状态,把当前没提交的先提交

# 查询状态
git status -s

查询结果如果返回有东西,,就说明还有未提交的修改,那么就赶紧提交

git add .
git commit -m "..."

2.git log列出所有版本,如下图

git log --pretty=oneline

在这里插入图片描述
3.上图第1行是当前所在的版本,即HEAD指针所指向的版本。如果想回退到上一个版本,可以用git reset --hard HEAD^。如果想回退到上n个版本,可以用git reset --hard HEAD~n,或者直接在上图中找到你想回退的版本的id,用前四五个字母指示即可。例如:

# 回退到了第4行的版本,也就是当前版本的前3个版本
git reset --hard 46d7
# 或者还可以用HEAD指针来相对指示
git reset --hard HEAD~3
# 或下面这样,略麻烦
git reset --hard HEAD^^^

撤销git pull

还有一些时候,你可能是和伙伴一起合作,或者用别人的代码,远程的仓库已经更新了好几个版本,但是因为某些原因自己本地的代码还没动。此时你习惯性地git pull一下,还很顺利。
结果呢,本地的其他代码A仓库又依赖着之前那个没动的版本old仓库,这git pull一下,本地变成了最新版本new仓库,A仓库因为版本问题只能用old仓库才不会出错,现在需要从new仓库回退到old仓库。怎么办?远程仓库更新了几个版本,你也不知道,用HEAD~nn是几呢?用id来回退,但是你记得old仓库的id吗?太难了…下面就讲一下,如何处理那一时手贱所敲下的git pull

撤销git pull的关键是git reflog命令,它能够显示你操作的步骤,和相应步骤的id号。如下图,我已经成功撤销了。第1行是上一步操作,成功回退到old仓库;第2行是上上步操作,是手贱的git pull;第3行就是最原始的操作,克隆代码 ,就是从这一行看到它的id号,然后git reset --hard da04即可!
在这里插入图片描述

发布了7 篇原创文章 · 获赞 2 · 访问量 3885

猜你喜欢

转载自blog.csdn.net/weixin_40331125/article/details/104545945
今日推荐