git工作区、暂存区、版本库

在IDE里的更改为工作区的修改

git add之后 工作区的修改同步到暂存区

git commit之后 暂存区的修改同步到版本库


git diff 比较的是工作区和暂存区的差别

git diff --cached 比较的是暂存区和版本库的差别

git diff HEAD 可以查看工作区和版本库的差别


  • HEAD 表示当前版本
  • HEAD^ 上一个版本
  • HEAD^^ 上上一个版本
  • HEAD^^^ 上上上一个版本

重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变,修改可重新add

$ git reset HEAD^ # 回退所有内容到上一个版本 $ git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一个版本 $ git reset 052e # 回退到指定版本

--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交

$ git reset --hard HEAD~3 # 回退上上上一个版本 $ git reset hard bae128 # 回退到某个版本回退点之前的所有信息。 $ git reset --hard origin/master # 将本地的状态回退到和远程的一样



2、git reset --soft:修改可重新commit


回退到某个版本,只回退了commit的信息,如果还要提交,直接commit即可(修改的内容变成未add的状态),索引(暂存区)和工作目录的内容是不变的,在三个命令中对现有版本库状态改动最小。