先声明一点。。我真的不是只会用git pull,和git push。。。这里总结下git的一些基本使用方法 
如何回复被删除的文件
git删除文件一般也就包含下列四种情况
- 删除本地文件,但是未添加到暂存区。
- 删除本地文件,已经添加到了暂存区。
- 把暂存区的操作提交到了本地git库。
- 把本地git库的删除记录推送到了远程服务器的github。
差不多平时我们接触的主要也就是这四类。下面用四个例子来针对上面四种情况来进行恢复操作。
删除本地文件,但是未添加到暂存区
这一种是我们经常遇到的一种情况。在操作git的时候,不小心把本地的文件给删除了。比如这样:
使用rm zone-resume.doc删掉之后:
这时候我们应该怎么办呢?
恢复操作方法
这里使用git的一条指令git checkout zone-resume.doc来恢复操作
删除本地文件,已经添加到了暂存区(即已git add.)
这时候我们应该怎么办呢?
恢复操作方法
这里我们通过git status可以知道 我的简历已经被删除。而且已经通过git add .添加到了暂存区
如果此时要撤销操作。方法上面已经告知我们。
我们这里使用git reset HEAD zone-resume.doc让其从”前线”暂存区退到”后方”,再用git checkout zone-resume.doc 让其恢复。
删除本地文件,但是已经提交到了本地git仓库(即已做git commit -am"xxx"操作)
还是之前那个例子:
这里我们可以看到。通过git status可以查看:他说xxxxxx by 1 commit 估摸意思就是有一个提交记录。
恢复操作方法
这时候如果要恢复就必须对git进行版本回滚了。
恢复方法
- 1.通过git log查看git库的的提交记录.
 这里可以看出,最近的一次提交就是我们刚刚的那次”acorn”
- 然后直接用git reset --hard 7cbf603这里取错误提交版本之前的一个版本的前7位ID。进行回滚
- 这样文件就恢复了。
把本地git库的删除记录推送到了远程服务器的github。
还是之前那个例子:
我们这时候发现。在github上面已经没有我的简历文件了。这时候应该如何恢复呢?
恢复操作
这里的方法还是和第三种类似
- 1.先通过git log回去到提交记录
- 2.然后通过git reset --hard 7位ID来回滚到上一次提交前面的一个版本
- 3.然后通过git push 来同步git 线上仓库
但是我们这里git push的时候却报错了:
解决办法
这里使用一个黑科技git push -f直接暴力提交就行。
未完待续
关于 一些切换分支的指令 感觉都挺简单。这里就不详细总结了(主要还是人懒…..)