VSCode使用git出现的问题记录–git回退

作者 : admin 本文共609个字,预计阅读时间需要2分钟 发布时间: 2024-06-16 共1人阅读

1.远程仓库回退
有时候,已经将错误的代码推送到了远程仓库,需要回退到之前的正确版本。

(1)查看提交历史记录,找到要回退的提交ID

git log

回退到指定版本

git reset --hard commit_id

本地代码就回退到了正确版本。但是,远程仓库还是错误版本。需要使用git push命令强制推送回退后的代码
注意,强制推送会覆盖远程仓库的所有修改和提交记录,谨慎使用。

git push -f

(2)这样过后本地也会回退到指定版本,需要将本地的修改记录找回来。
通过 reflog 查看所有 HEAD 的移动,可以用来找到之前的提交。

git reflog

你会看到类似下面的输出:

e8d2f56 (HEAD -> main) HEAD@{0}: reset: moving to e8d2f56
4a36c72 HEAD@{1}: commit: some other commit
7b2ffcc HEAD@{2}: commit: another commit

找到你想恢复的提交的哈希值(例如 4a36c72),重置到那个提交:

git reset --hard 4a36c72

(3)回退到未提交状态
(发现本地仓库的最新提交有误,可以通过以下步骤舍弃该次提交,然后重新提交正确的更改)
查看日志

git log --oneline

重置到上一次正确的提交(假设是 HEAD^)

git reset --soft HEAD^

修改文件进行更正后重新提交:

git add .
git commit -m "重新提交修正后的更改"
本站无任何商业行为
个人在线分享 » VSCode使用git出现的问题记录–git回退
E-->