前言
参考文章
正文
说明
在Git中不小心提交代码、推送分支,需要进行回滚操作
版本号说明:
在 Git 命令中,HEAD~1 里的 1 表示 “往回追溯的提交次数”,即撤销最近 1 个提交。这里的 ~ 符号是 Git 的祖先引用语法,用于指向某个提交的父提交。
已提交未推送
命令行操作:
# 撤销最近一次提交(保留修改)
git reset --soft HEAD~1
# 撤销最近一次提交(保留修改,没有add的文件会被移除stash状态需要重新add)
git reset HEAD~1
# 彻底丢弃最近的提交(丢弃文件修改信息)
git reset --hard HEAD~1
在Idea中操作:
在git模块中找到提交记录右击“Undo Commit”
已推送
命令行操作:
revert指令会生成一个新的提交,内容与原提交相反(撤销更改)。
# 回滚最近一次提交
git revert HEAD
# 或指定提交哈希:
git revert <commit-hash>
在Idea中操作:
1、在git模块中找到提交记录,右击“Revert Commit” ,分支还原到目标分支的模样(此时只改了本地)
2、本地push到远程
cherry-pick使用
用户曾经提交过一次代码,后来被恢复还原了。现在想要找到当时的提交内容,在当前分支的末尾重新发起一次提交,可以使用cherry-pick操作。
打开选择以往的一次提交,将当时的提交信息(修改的文件、修改的内容),生成一个新提交记录。
将目标分支(一个活多个)修改的代码,重新创建一个新的commit作为新提交拼接到末尾,进行重新commit。

1187

被折叠的 条评论
为什么被折叠?



