git回滚后恢复指定之前的提交

2024-01-09 14:37:10

1、在 Git Bash 或命令行中,输入 git reflog 命令,查看 Git 的操作日志。
?
2、找到您要恢复的提交的 SHA-1 值。SHA-1 值是由 Git 分配给每个提交的唯一标识符。


?
3、输入 git checkout 命令,使用找到的 SHA-1 值恢复到之前的提交。例如:git checkout abc1234,其中 abc1234 是要恢复的提交的 SHA-1 值。

error: The following untracked working tree files would be overwritten by checkout:
        smartmedical-base/smartmedical-base-es/src/main/java/com/smartmedical/RuoYiEsApplication.java
        smartmedical-base/smartmedical-base-message/src/main/java/com/smartmedical/RuoYiMessageApplication.java
        smartmedical-base/smartmedical-base-pay/src/main/java/com/smartmedical/RuoYPayApplication.java
Please move or remove them before you switch branches.
Aborting

遇到这个报错,表明在切换分支时,有一些尚未被Git跟踪(untracked)的文件会被切换的分支覆盖,因此Git拒绝执行切换操作,以防止意外丢失文件。

解决这个问题的方式通常有两种:

(1)保留更改: 如果你想保留这些文件的更改,可以先将它们进行提交或暂存,然后再切换分支。你可以使用以下命令:

git add .
git commit -m "Save changes before switching branches"
git checkout 38720fe

?这将会将你的更改提交到当前分支,然后再切换到 38720fe

(2)丢弃更改: 如果你不关心这些更改,可以直接丢弃它们:

git clean -df
git checkout 38720fe

上述命令中,git clean -df 会清除工作目录中未跟踪的文件,然后再切换到 38720fe 分支。


4、确认已经成功恢复到之前的提交。您可以使用 git log 命令查看提交历史记录,确保已恢复到正确的提交。(q退出git log)

文章来源:https://blog.csdn.net/heng_dmzg/article/details/135469493
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。