git的这一系列操作,真正的让你知道,这个世界上有后悔药吃的。本人太菜,先记录下常用的几种回滚撤销操作
操作解释:
清除untrack的文件或文件夹
//中括号内名字非必填,不指定名字默认所有
git clean -f [filename] //删除未跟踪的文件
git clean -fd [foldername] //删除未跟踪的文件和文件夹
git clean -xfd [foldername] //删除未跟踪的文件和文件夹 (慎用:gitignore的资源也会一起删除)
一般流程:
git clean -nfd //检查未跟踪的资源
git clean -fd //删除未跟踪的资源
工作区:就是你当前可见的,正在工作的目录和文件
操作解释:指定撤销你在工作区的部分操作,让文件回到最后一次commit或者add的状态
git checkout -- [文件名] //撤销指定文件的修改
git checkout . //撤销所有文件改动
暂存区:已经 git add进去,尚未 git commit
操作解释:通俗的说,就是回到git add前
git rm --cache [文件名] //撤销暂存区指定文件回到工作区
git reset -- [文件名] //撤销暂存区指定文件回到工作区
git revert [--hard] [HEAD] // 撤销暂存区所有文件回到工作区,HEAD可以省略(切换到最近的一个提交)
版本库:就是.git中保存的版本仓库,也就是已经commit过的那些记录。
操作解释:即版本回滚,执行此操作,将使当前版本代码回到指定的版本号之前的一个版本
git log --pretty=oneline // 查看最近几次commit的commit_id(只能看到当前版本往前的提交记录)
git reflog --pretty=oneline // 查看所有提交的记录(包括已经切换掉的,故如果忘记了要去哪一次提交,可以使用这个)
git revert [--hard] [HEAD] // 切换到最近的一个提交(--hard可省略)
git revert --hard HEAD~20 // 切换到往前20个版本
git revert --hard <commit_id> // 切换到指定的版本
本文为续断原创文章,转载无需和我联系,但请注明来自续断的博客https://www.zhaizhaiplan.com
最新评论