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:这个命令会丢弃所有当前的工作目录和暂存区的更改。如果你有未保存的工作,这些更改将会丢失。
相关推荐
guwentian8 小时前
Git Worktree 实战:用并行多 Agent 把开发提速 N 倍
大数据·git·elasticsearch·wroktree
不吃鱼的羊12 小时前
Git识别未修改的文件有修改
git
蓝黑墨水14 小时前
一个git问题的处理
git
互联网中的一颗神经元17 小时前
21 — 额外命令:同时开两个窗口、自动检查哨
git
_道隐_19 小时前
git stash save 和 git stash push有什么区别?
git
_道隐_1 天前
git stash如何pop指定的stash change?
git
PC2005-cloud1 天前
Git学习笔记:GitHub Git Data API 完全指南,用 Go 操控 Git 底层对象
笔记·git·学习
Python私教2 天前
AI 并行编码的 Worktree 生命周期:创建、隔离与安全回收
人工智能·git
互联网中的一颗神经元2 天前
16 — 改写历史 rebase:搬家到新楼层,不是合并
git
互联网中的一颗神经元2 天前
19 — 贮藏与清理:stash 是抽屉,gc 是打包箱
git