git reset 命令的选项
1.git reset --mixed HEAD~ (默认)
-移动HEAD的指向,将其指向上一个快照
2.git reset --soft HEAD~
-移动HEAD的指向,将其指向上一个快照(相当于撤销commit)
3.git reset --hard HEAD~
-移动HEAD的指向,将其指向上一个快照
-将HEAD移动后指向的快照回滚到暂存区域
-将暂存区域的文件还原到工作目录
reset 回滚到指定快照
git reset id号(建议是5位)
当还原到最老id时,如果知道最新id 可以回滚到最新快照,即使他已经被旧版本覆盖(hard)
reset 回滚个别文件
git reset 版本快照 文件名/路径(忽略HEAD指针的改变)
版本对比
1.比较暂存区域和本地工作目录
git diff
diff --git a/README.md b/README.md
#表示分布把暂存目录和工作目录的文件放置在自动生成的a/b文件夹下,比较两个文件夹
?
---a/README.md #暂存区域
+++b/README.md #工作目录 新(+)
搜索
#/+关键词 从上往下搜索
#?+关键词 从下往上搜索
q退出
?
比较两个历史快照:
git diff 快照ID1 快照ID2
比较暂存区域和git仓库的快照
git diff --cached 快照id
修改最后一次提交
1.在实际开发过程中,你可能遇到以下两种情景:
情景1:版本刚一提交(commit)到仓库,突然想起漏掉两个文件还没有(add)
情景2:版本刚一提交(commit)到仓库,突然想起版本说明写的不够全面,无法彰显你本次修改的重 大意义
执行带 --amemd 选项的 commit提交命令,Git 就会‘‘更正‘‘最近的一次提交
git commit --amend
删除文件
git rm 文件名
该命令删除的只是工作目录和暂存区域的文件,也就是取消跟踪,在下次提交的时候不纳入版本管理。
然后soft HEAD 回到过去
重命名文件
git mv 旧文件名 新文件名
原文:https://www.cnblogs.com/pythonyeyu/p/10951151.html