git-回滚到某次提交reset current branch to here

背景

情形1:提交了多次错误的提交,想回滚到之前的某次提交。

情形2:合并了错误的分支,想回滚到合并之前。

解决方法

基于git reset current branch to here。

直接在idea上面操作即可。

回滚(git reset current branch to here)

现在来模拟,比如提交了四次,现在想回滚到第一次提交,去掉后面三次的提交,

git-回滚到某次提交reset current branch to here_第1张图片

选择某次提交,右键

git-回滚到某次提交reset current branch to here_第2张图片

git-回滚到某次提交reset current branch to here_第3张图片

选择hard,回滚到某次提交。

现在本地已经完成,后面三次提交记录也被删除,看不到了。

强制push(force push)

git-回滚到某次提交reset current branch to here_第4张图片

发现强制push是灰色,强制push不了。

git-回滚到某次提交reset current branch to here_第5张图片

因为有保护,去掉保护,就可以了。

再次强制push之后,远程仓库的后面三次提交记录就都被删除了。


gitlab去掉保护的方式是

git-回滚到某次提交reset current branch to here_第6张图片

参考

https://zhuanlan.zhihu.com/p/358145704

git-回滚到某次提交reset current branch to here_第7张图片


https://www.jetbrains.com/help/idea/undo-changes.html#reset-HEAD

回滚的各种情况的解决方法,基于idea。

你可能感兴趣的:(git)