git命令回退方法

我们在使用git命令的时候,有时候误输入命令,导致需要回退到之前的状态。现在针对这种情况做一个汇总:
1. Git add回退
git status 先看一下add中的文件,确定已经添加的文件。
git reset HEAD 如果后面什么都不跟的话,就是add已添加的全部撤销。
git reset HEAD xxx.cpp 只撤销所列出的文件。

2. Git commit回退
git reset --soft HEAD^
这样就成功的撤销了你的commit。注意,仅仅是撤回commit操作,您写的代码仍然保留。

HEAD^的意思是上一个版本,也可以写成HEAD~1,如果你进行了2次commit,想都撤回,可以使用HEAD~2
--mixed 不删除工作空间改动代码,撤销commit,并且撤销git add . 操作,这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
--soft  不删除工作空间改动代码,撤销commit,不撤销git add .
--hard 删除工作空间改动代码,撤销commit,撤销git add .

顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:
git commit --amend

3. Git review回退
git checkout [分支名] 切换到需要回退的分支
git log 查看提交记录
git reset --hard 代码回退
git reset --hard [commit id] 复制最近提交的上一条提交记录的commit id
git review 重新提交修改

4. Git rebase回退
git reflog 先查看本地提交操作编号。
找到提交前的项目编号,例如4c173eb HEAD@{3}: commit: scan ,执行:git reset --hard 4c173eb

5. Git cherry-pick回退
git cherry-pick --abort.

你可能感兴趣的:(git,github)