一、版本回退的git操作:
最近刚刚进入一家新的公司,对于项目的东西还不是很熟悉,在提交时遇到提交错分支的问题,寻找解决方案
(1)git回退到上个版本(强制性的)
git reset --hard HEAD^ // hard是回退一下到上一级commit,并且本地的记录git修改也会被删除
(2)回退上一个commit(非强制性的)
git reset --soft HEAD^ // 回退到上一级commit,不过本地的修改还是会保存的
(3)回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --soft HEAD~3
(4)查看提交记录
git log
(5)查看具体某一次提交的具体内容
git show dba1b8fccc058b1bea95da84d06a30376e25326e // dba1b8fccc058b1bea95da84d06a30376e25326e是具体的版本码
(6)退到/进到 指定commit
git reset --hard dba1b8fccc058b1bea95da84d06a30376e25326e
(7)强推到远程
git push origin HEAD --force
二、代码的暂时封存
有时候在开发一个功能还没完成(个人本地分支),但是遇到测试组的同事提回来的紧急bug需要先解决(dev开发分支),这部分代码又不能及时提交,但是呢,没有提交代码又不能切换去其他的分支修改内容,这时候怎么办呢?
-------先把代码封存起来,然后再切换其他分支修复bug,修复后完毕后提交再次切换回原来的分支继续开发
1、git stash
暂存已经开发的代码
2、git stash list
查看所有的暂存记录列表
3、git stash pop
可以实现将原来暂存的代码恢复,并且将暂存的记录也删除
4、git stash apply
使用 git stash apply 命令恢复。但是恢复后 stash list 里的内容还没删除,还需要 git stash drop