簡體   English   中英

無需提交即可還原git repo中的文件

[英]Restore files in git repo without commit

我在Github上創建了一個Git倉庫和一個遙控器。 在項目文件夾中,我進行了git init並忘記了進行第一次git commit 在我從遠程存儲庫中進行git pull之后,我在本地文件夾中的所有文件都消失了。 我試過了

git reset --hard origin/master
git reset --hard
git checkout <filename>
git checkout -f master

但這對我沒有幫助。 到處都寫需要恢復的最后一次提交,但是我沒有他。

我如何還原我的所有文件?

不清楚是否在git pull之前提交。 還不清楚如何清除文件,因為Git會首先詢問您,除非您使用了其中一個強制標志。

無論如何,如果您在某個時候提交了文件,則它們可能不會丟失。 您確定沒有任何分支機構嗎? 首先檢查一下:

git log --graph --decorate --all --oneline

如果沒有看到提交,則可以嘗試使用以下方法恢復已刪除的文件:

git fsck --lost-found

輸出可能看起來像這樣:

Checking object directories: 100% (256/256), done.
Checking objects: 100% (3/3), done.
dangling blob 058a46ad6fec7b6ee95710eb06daa0b8169a5da0
dangling blob f1d509348c7689f0f127d9eba5324db8221d5603

注意懸掛的斑點。 它們是已刪除的文件。 您可以使用git show SHA1查看它們的內容,也可以在.git/lost-found/other/找到這些文件。

另一方面,如果您從未提交或暫存原始文件,則它們將完全消失。 如果您從未向Git告訴過他們,那么它也不了解它們,因此無法使用Git恢復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM