2012-03-14 37 views
24

我已將git項目克隆到本地git存儲庫中。然後,我做了一些討厭的文件之一,並在恐慌我從驅動器(rm style.css)已刪除的文件物理,也刪除它從混帳(git rm style.css)。如何將丟失的文件拖回我的分支

我想原來style.css從原點回到我的Dev分支。不幸的是,我的git認爲它是最新的,不會做任何事情。

[email protected]:~/project.me# git status 
# On branch dev 
nothing to commit (working directory clean) 

[email protected]:~/project.me# git pull origin dev 
Password for 'https://[email protected]': 
From https://github.com/somewhere/project.me 
* branch   dev  -> FETCH_HEAD 
Already up-to-date. 

什麼我需要做的,告訴我要下載原始style.css文件回到我的Dev分支的git?

回答

46

使用git checkout。在你的情況下:

git checkout origin/master style.css 

該命令將更新給定分支(這裏是遠程分支origin/master)所請求的文件。

希望這有助於

+0

謝謝 - 這也幫助了我。如果你有很多文件要恢復(就像我做的那樣),你可以使用:'git diff --name-status | sed -n'/^D/s/^ D \ s * // gp'| xargs git checkout origin/master',它將重新簽出所有已刪除的文件。 – spikyjt 2014-01-31 10:37:20

5

轉到style.css中的位置(可能是應用程序/ CSS /)使用控制檯否則會出現錯誤pathspec。

然後執行:

git checkout origin/master style.css

26

如果您想從本地資源庫

git checkout . 

警告恢復所有丟失的文件:這種方法也將恢復所有修改過的文件,並刪除所有變化

+0

謝謝!這清楚地解決了丟失文件的問題。 – Smartis 2017-01-03 17:40:06

+0

沒有恢復丟失的文件,其在遠程/主,但不是本地 – vsync 2017-01-23 09:26:15

+0

@vsync它可以幫助,但你必須運行git取前 – aleskva 2017-08-28 09:53:38