本文导读
项目回滚
- 开发中会出现对一些文件内容修改后,觉得并不满意、或者不小心改错了文件等等
- 这个时候使用 "git checkout -- xxx" 就能轻松的将内容进行回滚到之前的状态,xxx表示待回滚的文件名
- 注意:使用了"git add"后添加到了暂存区的文件无法再回滚
- 从上面的"git status"查询项目状态可知:当前项目是远程仓库最新的版本、没有可提交的、工作树是清洁的
- 再次通过"git status"可知:有未提交的更改、使用"git add"可以更新提交、使用"git checkout"可以放弃工作目录的更改
- 红色的"modified"表示此文件处于修改且未添加到暂存区的状态
- 修改了"config.properties"文件,没有做"git add"操作时,使用"git checkout -- 文件名"即可回滚
- 再次使用"git status"可知:状态也已经恢复到最初了
项目重置
- 上面的回滚针对小事件,少量的文件是很方便的,但如果开发中大面积的文件内容被修改后,发现功能出现了严重的问题,或者需求发生了改变等等,此时用回滚已经显得力不从心了
- 或者对于修改的内容如果做了"git add"操作,将文件放入到了暂存区,那么"git checkout -- xxx"也是无能为力的
- 这时采用"git reset"重置指令就很高效了,能将修改的内容完全恢复到上一次提交(git commit)时的状态
- 注意如果使用了"git commit"提交了项目,那么"git reset"则无法再重置了
- git reset 命令和
--hard
选项一起可以抛弃自上次提交以来的所有更改
- 从上面的"git status"查询状态可知:变化已经暂存、可以使用"git reset"进行重置