git的恢复操作

git的恢复操作

①:工作区修改了文件(add之前),但是发现文件是你不想修改的,或者修改错误的,执行git checkout -- 文件名,在工作区把文件恢复到修改之前的状态;

②:工作区修改了文件,并且已经添加到缓存区(add之后,commit之前),执行git reset HEAD 文件名(HEAD表示最新的版本),此操作是把缓存区修改的内容返回到工作区,如果此时你还是不想修改此文件的话,就再次执行第一步操作,就可以恢复到文件修改前的状态;

③:已经把文件提交给了分支(commit之后,push之前),执行git reset --hard HEAD^(HEAD^表示上一个版本),或者先用git log查看已经提交的版本号,执行git reset --hard 版本号的ID,就可以恢复到之前的版本,此时工作区和缓存区也是干净的;


③:push的时候忽略文件的操作:(忽略大文件操作  .gitignore不好使的时候)

commit之后,push之前,输入命令 

git filter-branch --force --index-filter "git rm --cached --ignore-unmatch 你想要忽略的文件名"  --prune-empty --tag-name-filter cat -- --all

如果git提示你这次的操作 Your index contains uncommitted changes.,说明你要忽略的文件不是这一次commit的文件,然后你可以再次commit一下,这一步操作就能通过,第二部输入命令 git commit --amend -CHEAD,执行完这步后,这个文件将会从你的commit记录里移除,并且以后commit都将不会再把它commit了,这时候就可以git push把本地代码push到github上了。如果因为大文件在上几次commit中而无法忽略的话,就备份你的文件,再恢复到某个版本,用你的备份文件重新覆盖


猜你喜欢

转载自blog.csdn.net/kingandwede136/article/details/54311474
今日推荐