2014-09-28 110 views
1

我不幸刪除了一些我用Git跟蹤的文件,並努力恢復這些文件。恢復已刪除的文件與Git後返回到更早的結帳

爲了更加詳細,我提交了一個git倉庫中的文件。然後,我又將三個文件添加到該存儲庫,並鍵入git add <FILENAME>git commit -m "blabla"。我輸入了git log,並且感覺我沒有單獨跟蹤文件,而是整個存儲庫。但是,我想爲每個文件都有一個版本控制。然後我使用git checkout來恢復到版本,當我只提交了一個文件與其他三個文件未跟蹤。現在,這三個文件被刪除。不幸的是,git log只返回第一次提交,而不是我所做的後續提交。

有人可以告訴我如何恢復丟失的文件?

回答

2

git log顯示整個存儲庫的日誌。如果你想看到的只有一個文件的日誌然後使用此:

git log -- my/file/path

您可以通過再次檢出的分支找回文件下的git。例如,

git checkout master

這之後,您將獲得文件作爲COMMITED。如果你真的想回到你的第一次提交,並有加入後來由於未跟蹤所有的新文件,然後執行以下操作:

git reset commit_hash

復位,你會在你的工作目錄中獲取新的文件作爲未跟蹤文件之後,你必須再次提交。

+0

我用''git checkout''來恢復我提交的最早版本,其中只包含一個文件在版本庫中。當我現在鍵入''git log''時,我看不到我在恢復到舊版本存儲庫後所做的提交。這真的應該是整個存儲庫的日誌嗎? – fabian 2014-09-28 09:56:48

+2

當你簽出舊的提交時,git對後面的提交一無所知。因此,如果您想再次查看這些文件,則必須再次檢出分支的最新提示,例如, 'git checkout master'假設你是主人。 – taskinoor 2014-09-28 09:58:47