查看所有文章链接:(更新中)GIT常用场景- 目录
文章目录
- 1. 文件的差异
- 2. 文件的恢复
工作区:本地进行修改的code
暂存区:执行了 git add <filename>
命令之后
版本库:执行了 git commit <...>
命令之后
1. 文件的差异
工作区与暂存区的差异:git diff
暂存区与版本库的差异:git diff --cached
也可以比较不同commit之间的差异:
git diff HEAD^ HEAD
注:
在 HEAD 后面加 ^ 就是以 HEAD 为基准,来表示HEAD指向的前一个版本。
2. 文件的恢复
- 版本库:如果已经执行git commit命令添加到了版本库:
(1) 回到提交前的版本库,工作区和暂存区全部回退到上一版本库:
git reset --hard HEAD^
(2) 回到提交前的版本库,但是保留git commit中修改的内容到暂存区:
git reset --soft HEAD^
# 这里回退之后,暂存区中会保留git commit的内容
- 暂存区:如果已经执行git add添加进了暂存区,此时想撤销git add操作,工作区的修改保留:
git reset <filename>
- 工作区:本地修改了代码,还没有执行git add,此时想撤销目前的修改:
git checkout -- <filename>