GitHub git重置头--硬删除本地文件

问题描述 投票:0回答:1

我不知道从哪里开始。我是 GitHub 的初学者,正在努力熟悉常规。所以今天我正在做一个项目,但没有承诺。我的最后一次提交是在昨天。因此,我在我的电脑上找到的任何人都决定在继续之前提交我的工作,因为我在两台不同的电脑上工作。提交卡在了中间,从文档中我看到了一个重置头 --hard 可以解决问题(事后看来这是一个糟糕的主意)。当我点击重置时,它回到了最后一个头,而我当前的更改并未提交给 GitHub。我丢失了几个新文件以及对现有文件所做的一些工作。

P.s.头重置后,提交实际上成功了,并且它向 GitHub 发送了带有回滚文件的提交。

我尝试了几件事

git fsck --lost-found
它返回了 1 个我跑过的悬空树块
git show 8474d5166d62918b3318fe1275029c10049d5b8b
返回了这个

admin.mydomain.ca/
assets/
cx.domain.ca/
index.html

我检查了我的仓库下的垃圾箱和.git文件夹,但没有结果。

我得到的最后一件事是来自原始提交尝试的这个文件,该文件挂起并被我的 git reset --hard 击中。哪个是我们丢失/回滚的原始正确文件

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch main
# Your branch is ahead of 'origin/main' by 1 commit.
#   (use "git push" to publish your local commits)
#
# Changes to be committed:
#   modified:   admin.mydomain.ca/assets/css/dashboard.css
#   new file:   admin.mydomain.ca/assets/js/dashboard.js
#   modified:   admin.mydomain.ca/assets/php/login.php
#   new file:   admin.mydomain.ca/assets/php/logout.php
#   new file:   admin.mydomain.ca/customers.php
#   modified:   admin.mydomain.ca/index.php
#

尝试过

git reflog

93d3f70 (HEAD -> main) HEAD@{0}: reset: moving to HEAD^
bff6257 HEAD@{1}: reset: moving to HEAD^
600805b HEAD@{2}: reset: moving to HEAD^
5d31c32 (test) HEAD@{3}: reset: moving to HEAD
5d31c32 (test) HEAD@{4}: reset: moving to HEAD
5d31c32 (test) HEAD@{5}: reset: moving to HEAD
5d31c32 (test) HEAD@{6}: reset: moving to HEAD
5d31c32 (test) HEAD@{7}: reset: moving to HEAD^
cd5ba09 (origin/main, origin/HEAD) HEAD@{8}: reset: moving to HEAD
cd5ba09 (origin/main, origin/HEAD) HEAD@{9}: reset: moving to cd5b
cd5ba09 (origin/main, origin/HEAD) HEAD@{10}: reset: moving to cd5ba09
cd5ba09 (origin/main, origin/HEAD) HEAD@{11}: checkout: moving from test to main
5d31c32 (test) HEAD@{12}: reset: moving to HEAD~
cd5ba09 (origin/main, origin/HEAD) HEAD@{13}: checkout: moving from main to test
cd5ba09 (origin/main, origin/HEAD) HEAD@{14}: reset: moving to HEAD
cd5ba09 (origin/main, origin/HEAD) HEAD@{15}: commit: Bug fix, dashboard update
5d31c32 (test) HEAD@{16}: commit: Back to normal
600805b HEAD@{17}: commit: testing
bff6257 HEAD@{18}: clone: from https://github.com/myuser/mydomain.git

我用移动头四处乱转,看看是否能找到任何东西,但什么也没有。 cd5ba09 是带有回滚文件的最近提交。

git show
中没有任何内容作为丢失的文件出现

P.s. mydomain 是隐私通用的

git github commit
1个回答
0
投票

可以在硬重置之前将分支重置为之前的提交。

git reset --hard cd5ba09 
© www.soinside.com 2019 - 2024. All rights reserved.