git提交代码失败,还原提交后,本地代码丢失,解决办法

bash 复制代码
(venv) (base) sunyuhua@sunyuhua-HKF-WXX:~/PycharmProjects/Linly-Talker/src$ git status
位于分支 master
要提交的变更:
  (使用 "git restore --staged <文件>..." 以取消暂存)
        新文件:   ../.gitignore
        新文件:   ../.idea/.gitignore

(venv) (base) sunyuhua@sunyuhua-HKF-WXX:~/PycharmProjects/Linly-Talker/src$ git log
commit 172e639b45f150211f2ee09ed694179025ccdb5b (HEAD -> master)
Author: sunyuhua <sunyuhua@shgbit.com>
Date:   Thu Feb 1 14:09:47 2024 +0800

    Revert "init project"
    
    This reverts commit 91118fa4f77ebfe9037dc1236bb926f3950398bd.

commit 91118fa4f77ebfe9037dc1236bb926f3950398bd
Author: sunyuhua <sunyuhua@shbgit.com>
Date:   Thu Feb 1 14:04:12 2024 +0800

    init project

想恢复到"init project"提交之前的状态,尤其是如果你想找回在执行 git revertgit reset 之后丢失的文件,你可以按照以下步骤尝试:

1. 检查当前状态

首先,确认当前的 git status 来看看是否还有其他文件未被跟踪或已暂存但未提交。

2. 恢复到"init project"提交

由于你已经知道"init project"的提交哈希(91118fa4f77ebfe9037dc1236bb926f3950398bd),你可以尝试直接检出到那个状态。但是要注意,这将会改变工作目录中的文件,可能会覆盖任何未提交的更改。如果你确定没有需要保留的更改,可以执行:

bash 复制代码
git reset --hard 91118fa4f77ebfe9037dc1236bb926f3950398bd

3. 检查文件

执行完上述命令后,你的工作目录应该会恢复到"init project"提交时的状态。使用 ls 或其他文件浏览命令来确认你的文件是否都已恢复。

注意:

  • 备份:在执行任何可能会丢失数据的 Git 操作之前,总是好的做法先备份当前的工作目录。
  • 小心使用 git reset --hard:这个命令会丢弃所有当前的工作目录和暂存区的更改。如果你有未保存的工作,这些更改将会丢失。
相关推荐
一路向北he2 分钟前
git仓库创建新分支,上传文件
git
半个落月2 小时前
从零开始理解 Git 核心操作:告别单机开发的“原始时代”
git
东风破_2 小时前
别学 Git 命令了,先搞懂这仨区域:工作区→暂存区→仓库
git
戴国进2 小时前
详解Git的worktree实现多分支并行开发
大数据·git
凌冰_3 小时前
Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path路径异常解决
git
xlq223224 小时前
3.git
git
一只大袋鼠16 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
我叫张小白。1 天前
Git 分支管理与团队协作
git
DogDaoDao1 天前
Windows 下 Git 报错:`touch` 无法识别 —— 原因分析与 7 种解决方案(从入门到精通)
windows·git·程序员·npm·powershell·cmd·touch
caicai_xiaobai1 天前
Ubuntu上Git安装步骤
linux·git·ubuntu