git撤销commit ,并且保留修改 |
您所在的位置:网站首页 › git提交comkit回退 › git撤销commit ,并且保留修改 |
问题背景
在多人协作开发的项目中,一般都是从master中新建一个分支进行修改开发,完了就提交、合并、删除分支。可很多时候就是不长记性,分支也不建直接在master上开干,做完之后一顿操作梦如虎,git status -> git add . -> git commit -m ‘’ 一气呵成,当正要提交的时候,瞄了一下编辑器左下角,吗惹,怎么还在master分支上,凉凉~~~~~~~ 未等我汗滴留下来,心想,git那么强大的工具,对于这种情况的处理肯定有完整的回退解决方案的吧,一查吗,果不其然,哈哈哈哈 解决步骤 1、看下提交记录命令: git log不过这样输出比较琐碎难看,一般来说是通过以下这句来查看提交记录: git log --pretty=oneline
这样就会恢复到没有commit前的状态,而且最重要的是!我们的修改还在,oh no 太强大了 注意,git --reset 后面跟的可以是soft或者hard,如果是hard的话,就是简单粗暴,回退的同时修改也会不见,所以一般不建议用hard。 3、暂存修改,切换分支先把修改暂存起来,然后查看分支状态,嗯,很干净,赶紧切个分支再说,切到新的分支再把修改的内容恢复到当前分支岂不是美滋滋,就这么干 git stash这样就把修改暂存起来了, 执行 git status查看当前分支状态,ok, 暂存之后空空如也~~~ 然后赶紧切换个分支: git checkout -b 分支名这个命令是新建分支再切到新建分支,如果原本就有分支的就直接git checkout 分支名 就可以了 4、恢复暂存、添加 提交猛如虎好的,来到现在这个分支,加入分支名为dev 首先,看下暂存的东西 git stash list就像这样,前面的stash@{0}就是暂存的标识,因为同一分支可能有很多暂存内容,我们可以选择性的恢复暂存 对于只有一个暂存的情况,直接使用以下命令恢复暂存到工作区: git stash pop看下当前工作状态,嗯,哭了,回来了 ---- 最后提交 -> 推送 ->合并 -> 删除分支(删不删随意) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |