https://blog.csdn.net/kingandwede136/article/details/54311474
git的恢复操作
①:工作区修改了文件(add之前),但是发现文件是你不想修改的,或者修改错误的,执行git checkout - 文件名,在工作区把文件恢复到修改之前的状态;
②:工作区修改了文件,并且已经添加到缓存区(add之后,承之前),执行git reset HEAD文件名(HEAD表示最新的版本),此操作是把缓存区修改的内容返回到工作区,如果此时你还是不想修改此文件的话,就再次执行第一步操作,就可以恢复到文件修改前的状态;
③:已经把文件提交给了分支(commit之后,推之前),执行git reset - hard HEAD ^(HEAD ^表示上一个版本),或者先用git log查看已经提交的版本号,执行git reset - -hard版本号的ID,就可以恢复到之前的版本,此时工作区和缓存区也是干净的;
③:推的时候忽略文件的操作:(忽略大文件操作.gitignore不好使的时候)
提交之后,推之前,输入命令
git filter-branch --force --index-filter“git rm --cached --ignore-unmatch你想要忽略的文件名”--prune-empty --tag-name-filter cat - --all
如果git提示你这次的操作你的索引包含未提交的更改。,说明你要忽略的文件不是这一次提交的文件,然后你可以再次提交一下,这一步操作就能通过,第二部输入命令git commit - -amend -CHEAD,执行完这步后,这个文件将会从你的提记录里移除,并且以后commit都将不会再把它提到,这时候就可以git push把本地代码push到github上了。如果因为大文件在上几次犯中而无法忽略的话,就备份你的文件,再恢复到某个版本,用你的备份文件重新覆盖