一、git撤销commit操作
在工作中,我们经常执行git commit -m "message"将代码提交到本地仓库。如果我们提交后发现有误,可以通过 git reset 命令来撤销commit,但是此时工作区的代码内容会被丢弃,不会保存任何更改。
相比之下,git stash pop 操作则能够保留当前工作区所做的修改,在撤销 commit 的同时不会对当前工作区造成影响。
git stash pop
该命令可以将最近储存的stash apply,并移除该stash。
二、git撤销命令
有时,我们需要撤销一个特定的命令,例如在执行git add 命令之前执行了 git status,我们可能需要撤销 git status 命令。在这种情况下,我们可以使用 git stash 命令来保存更改,并通过git stash pop 操作来恢复之前的状态。
git stash save "暂存当前更改"
git status
git stash pop
三、git撤销commit
当我们提交代码后,如果发现有误,我们可以使用 git reset –soft HEAD^ 命令撤销commit,此时撤销之后的更改会保留在暂存区,并且可以随时通过git stash apply 操作重新获取。
git reset --soft HEAD^
git stash
四、git push撤销
如果工作区代码中包含了敏感信息,意外地将代码push到了公共仓库中,我们可能需要立刻撤回远程代码。在这种情况下,我们可以使用git revert命令对指定的commit进行撤销,并将更改推送到远程分支。
git revert commit-id
git push origin branch-name
五、git撤销提交
有时候我们会一次性提交多个文件,但是我们只需要提交其中某些文件,可以使用以下命令撤销提交。
git reset HEAD file1.txt
git commit -m "Commit 所提交的$message"
六、git撤销merge
如果在合并分支的过程中发生了冲突,我们可以选择撤销已经合并的分支。
git merge --abort
七、git撤销push
如果我们提交的内容有误或不符合规范,我们可能需要撤销push到远程仓库的代码。
# 回退到指定版本
git reset HEAD^
# 强制提交到远端
git push --force
结论
git stash pop 撤销操作十分实用,不仅能够恢复工作区修改,还可以撤回特定的命令,避免误操作对代码造成危害。但是,在真正使用这些命令操作时,请谨慎行事,慎重处理每一步操作,以免对代码产生不可挽回的后果。