返回介绍

版本回退

发布于 2024-12-09 12:49:34 字数 938 浏览 0 评论 0 收藏 0

版本回退用于线上系统出现问题后恢复旧版本的操作,回退到的版本。

# 恢复暂存区的指定文件到工作区(针对没有 add 的情况)
# `git checkout`其实是用版本库里的版本替换当前工作区的版本,无论当前工作区是修改还是删除,都可以恢复
git checkout -- file

# 恢复某个 commit 的指定文件到暂存区和工作区
git checkout [commit] [file]

# 恢复暂存区的所有文件到工作区(针对没有 add 的情况)
git checkout .

# 回退到上一个版本,在 Git 中,用 HEAD 表示当前版本
git reset --hard HEAD^

# 重置暂存区的指定文件,与上一次 commit 保持一致,但工作区不变(从 add 状态变为非 add 状态)
git reset HEAD [file]

# 重置暂存区与工作区,与上一次 commit 保持一致
git reset --hard

# 重置当前分支的指针为指定 commit,同时重置暂存区,但工作区不变
git reset [commit]

# 重置当前分支的 HEAD 为指定 commit,同时重置暂存区和工作区,与指定 commit 一致
git reset --hard [commit]

# 重置当前 HEAD 为指定 commit,但保持暂存区和工作区不变
git reset --keep [commit]

# 暂时将未提交的变化移除,稍后再移入
git stash
git stash pop

revert

# 新建一个 commit,用来撤销指定 commit。后者的所有变化都将被前者抵消,并且应用到当前分支
git revert [commit]

这一回退操作针对的是所有文件,如果后悔回退,继续 git pull 操作就可以了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文