作者同系列博客参考链接:
Git基础入门五:分支管理
Git基础入门四:版本回退(撤销修改)
Git基础入门三:创建版本库和添加修改文件基本命令
Git基础入门二:工作区和暂存区
Git基础入门一:起源与安装
1) HEAD指向的版本就是当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
比如使用git reset --hard HEAD^是回到上一个版本。
【补充:git reset HEAD <file>命令是把修改从暂存区撤回到工作目录-unstage】
2) 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
显示最后一次提交信息:git log -1
3) 要重返未来,用git reflog【另外一条类似命令为:git log --pretty=oneline】查看命令历史,以便确定要回到未来的哪个版本。
4) git revert和git reset的区别
git revert 是生成一个新的提交来撤销某次提交,此次提交之前的commit都会被保留
git reset 是回到某次提交,提交及之前的commit都会被保留,但是此次之后的修改都会被退回到暂存区
参考:https://blog.csdn.net/guyue35/article/details/45867949
参考:https://blog.csdn.net/qq8427003/article/details/64920987
5) 撤销工作区的修改:git checkout – file
【注意:git checkout -- file命令中的“-”很重要,没有“-”,就变成了“切换到另一个分支”的命令】
6) git rm: git rm <file>可直接删除存储库中的文件,执行commit之后,文件执行真正删除。
7) 清除工作区所有还没有add的文件的修改
a) git checkout . # 丢弃所有修改或删除,不影响新增或未跟踪的文件。会递归下级目录
b) git clean -nxdf # dry-run,先看下即将删除那些文件,再执行下面的危险命令
git clean -df # 删除所有未跟踪的文件和目录(不包含.gitignore的文件),危险命令
c) git clean -xdf # 删除所有未跟踪的文件和目录(同时包含.gitignore的文件),危险命令
作者同系列博客参考链接:
Git基础入门五:分支管理
Git基础入门四:版本回退(撤销修改)
Git基础入门三:创建版本库和添加修改文件基本命令
Git基础入门二:工作区和暂存区
Git基础入门一:起源与安装