git 版本回退

有些情况是没法用git 来回退的:

新建了文件,新建了文件并编辑,新增了文件并删除  总之是没有用git add file 命令把文件存到暂存区中.上面的文件只是普通的存放在了硬盘上,所有的改动都没有记录.

git add 后的文件另外存了一份(存的其实是不同的部分) 到暂存区  所以这是可以回退版本的基本条件.

git add 到暂存区之后的文件又被在工作区编辑了,如果要回退到编辑之前的样子,或称丢弃这次工作区的编辑: git checkout -- file

如果是git add 到了暂存区,但是又不想提交了,这个时候可以  分两步:git reset HEAD file   先把暂存区的改变回退到上一个版本  然后    git checkout -- file

如果是已经commit 但还没有push 到远程库,可以 git log --pretty=oneline 查看提交的版本号,然后根据  git reset commit_id 来回退.

记住以后git fetch 之后 最好有个习惯,那就是用git log git diff git status 看看,然后再决定是否merge.

 

如果已经提交了,那只能是先备份后提交,用push 的方式来进行删除.或者找到提交历史,仔细的找到关联的文件,清楚后再进行整体回退.

 

posted @ 2017-02-24 16:53  JonasYu  阅读(297)  评论(0编辑  收藏  举报