06 - 文件的差异和恢复

查看所有文章链接:(更新中)GIT常用场景- 目录

文章目录

  • 1. 文件的差异
  • 2. 文件的恢复

工作区:本地进行修改的code
暂存区:执行了 git add 命令之后
版本库:执行了 git commit <...> 命令之后


1. 文件的差异

工作区与暂存区的差异:git diff
暂存区与版本库的差异:git diff --cached

06 - 文件的差异和恢复_第1张图片

也可以比较不同commit之间的差异:

git diff HEAD^ HEAD

06 - 文件的差异和恢复_第2张图片

注:
在 HEAD 后面加 ^ 就是以 HEAD 为基准,来表示HEAD指向的前一个版本。

2. 文件的恢复

  1. 版本库:如果已经执行git commit命令添加到了版本库:
    (1) 回到提交前的版本库,工作区和暂存区全部回退到上一版本库:
git reset --hard HEAD^ 

06 - 文件的差异和恢复_第3张图片

(2) 回到提交前的版本库,但是保留git commit中修改的内容到暂存区:

git reset --soft HEAD^
# 这里回退之后,暂存区中会保留git commit的内容

06 - 文件的差异和恢复_第4张图片

  1. 暂存区:如果已经执行git add添加进了暂存区,此时想撤销git add操作,工作区的修改保留:
git reset <filename>

06 - 文件的差异和恢复_第5张图片

  1. 工作区:本地修改了代码,还没有执行git add,此时想撤销目前的修改:
git checkout -- <filename>

06 - 文件的差异和恢复_第6张图片

你可能感兴趣的:(GIT常用场景,git,gitee,git,diff,git,reset,git,checkout)