1,commit 之前的撤销
未添加至暂存区的撤销(add 之前)
git status
git checkout .
已添加至暂存区的撤销(add 之后)
git reset HEAD :将已经添加至暂存区的文件,回退到未添加到暂存区的状态,
然后再 git checkout .,回退到最为原始的状态
2,commit 之后的撤销
(
git add .
git commit -m "commit"
git push origin brandname
)
等一系列操作后的撤销
不想将本次的操作生效
git revert commitId(提交的 id)
git push origin brandname(分支名称)
此次操作就会撤销掉上一次的 push
在这个分支上,会生成一条 revert 的提交记录
revert 是负负得正,什么意思呢,就是说第一次 revert 的时候,上一次 push 的命令就失效了,再一次 revert 后,会回退到之前的之前的状态,
详细的介绍一下
比如我操作一个文件 UserController.java
将 userName 改为 username 经过一系列的 git 操作
git add .
git commit -m "commit"
git push orgin
后,再进行 git revert commitId
再进行 git push origin branchname
userName 还是 userName,
如果我再 revert 的时候,
git revert
git push origin branchname
将 userName 还是改为 username.
总结为:
git revert 为奇数时生效,为偶数时,失效
3,git 回滚:
将 git 回滚到某一次 commit 操作,在该 commitId 之前的操作,
将全部失效(此方法不建议使用,有风险),
git reset --hard commitId
git push origin branchname --force (强制覆盖)
因为是不可逆的,不建议使用
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于