我们在使用git命令时,有时需要错误地输入命令,恢复到以前的状态。 就这种情况进行一下总结吧。
1. Git add回滚
git status首先查看add中的文件,然后确认添加的文件。
如果后面没有任何东西,git reset HEAD就是add添加的所有撤销。
git reset HEAD xxx.cpp仅取消列出的文件。
2. Git commit回滚
git reset--软件头^
这样就可以取消你的commit了。 只要撤回commit操作,写的代码就会保留下来。
HEAD^意味着以前的版本,也可以写成HEAD~1。 如果你进行了两次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--硬件代码回滚
git reset --hard [commit id]复制上次提交的记录的commit id
git review将重新提交修改
4 .回滚4. Git rebase
git reflog首先确认本地提交操作编号。
找到提交前的项目编号。 例如4c 173 EB head @ {3} : commit : scan,执行: git reset --hard 4c173eb
5 .回退千兆位字符拾取
git cherry-pick --abort。