git status可以让我们时刻掌握仓库当前的状态。
git diff查看difference
git status
git diff readme.txt
在Git中,我们使用git log命令查看历史记录

使用git reset可以实现版本回退。其中HEAD表达当前版本,HEAD^表示上一个版本。HEAD^^表示上上个版本。以此类推,当然了,如果需要回退的版本太多时,可以使用HEAD~100,这样直接回退100个之前的版本。
git reset --hard HEAD^
需要注意的是,当你退回到上一个版本时,你就无法看到你当前的版本了。此时你需要使用版本号(commit id)来进行回退。注意,回退时版本号可以不写全。
git reset --hard 84df1ea
除了git log可以查看到版本号外,还可以使用git reflog查看到

git add把文件从工作区添加到暂存区
git commit把暂存区的所有东西都提交到当前分支
1.丢弃工作区的修改。把file文件在工作区的修改全部撤销。
总而言之,就是让这个文件回到最近一次git commit或git add时的状态。
git checkout -- file
git checkout -- readme.txt #把工作区的readme.txt文件修改退回上一个版本
2.把暂存区的修改撤销掉,重新放回工作区
git reset HEAD file
git reset HEAD readme.txt #把添加到暂存区的修改撤回,放回工作区。
3.版本回退
1.当你把一个文件上传到分支中时,使用rm就只能删除本地的文件,而不能删除库中的文件。如果想要删除库中的文件,则可以使用git rm
git rm readme.txt
2.当你不小心删除掉了本地库的文件时,你可以使用git checkout -- readme.txt这种方法从库中恢复
原文:https://www.cnblogs.com/huangdengtao/p/13195930.html