2012-04-10 129 views
1

我拿起這個工作的Rails系統上,並且被告知我可以修改服務器做一些測試。我對幾個文件做了一些小小的改動,確認了我的懷疑,然後在根目錄下做了遞歸的git checkout。使用git checkout來恢復文件 - 無論如何恢復它?

我重新開始載客,沒有問題,但與MySQL得到一個錯誤,即我的database.yml文件沒有正確的憑證。原來,在我之前的開發已經在版本控制放database.yml中,所以用戶名/在這個系統上的密碼得到恢復到以前提交的遞歸git的結帳。

是否有任何可能的方式來找回那種版本的database.yml?看起來我想在我的git提交中挺身而出,但是如果可以恢復該文件,我不想嘲笑它。有人有主意嗎?

回答

2

您應該能夠檢出一個特定文件的特定版本:

git checkout 5ed99fd2 config/database.yml 

使用任何哈希(改版機)你認爲解決該問題。你可以很快地切換,直到你做對了。

正如您所觀察到的,把這個版本控制會導致什麼,但悲傷和痛苦。

+1

*把這個版本控制會導致什麼,但悲傷和痛苦。*阿門。 – zetetic 2012-04-10 04:42:01

+0

如果該文件從未提交過,即先前的dev做了修改,沒有提交它,並且我還原了該更改,該怎麼辦?它丟失了嗎? – 2012-04-10 14:02:05

+0

哦,如果它從來沒有提交過,那麼你就處於操作系統的擺佈之中。通常答案是否定的。如果你有小時增量備份,這總是一個好主意,那麼你可以從那裏恢復它。 – tadman 2012-04-10 14:25:02