【问题标题】:Used git checkout to revert a file - anyway to restore it?使用 git checkout 恢复文件-无论如何要恢复它?
【发布时间】:2012-04-10 02:08:40
【问题描述】:

我正在着手开发这个 Rails 系统,并被告知我可以修改服务器以进行一些测试。我对几个文件进行了小改动进行测试,确认了我的怀疑,然后对根目录进行了递归 git checkout。

我重新启动乘客没有问题,但 MySQL 出现错误,即我的 database.yml 文件没有正确的凭据。原来我之前的开发人员已将 database.yml 置于版本控制中,因此该系统上的用户名/密码恢复为递归 git checkout 上的先前提交。

有没有办法找回那个版本的 database.yml?似乎我想在我的 git 提交中向前迈进,但如果可以恢复这个文件,我不想胡闹。有人有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails git restore git-checkout revert


    【解决方案1】:

    您应该能够签出特定文件的特定版本:

    git checkout 5ed99fd2 config/database.yml
    

    使用您认为可以解决问题的任何哈希(修订版)。你可以很快地切换,直到你做对为止。

    正如您所观察到的,将其放入版本控制只会导致悲伤和痛苦。

    【讨论】:

    • 把它放到版本控制中只会带来悲伤和痛苦。阿门。
    • 如果文件从未提交,即之前的开发人员进行了更改,但没有提交,我又恢复了更改怎么办?是不是丢了?
    • 哦,如果它从未提交过,那么您将受制于操作系统。通常答案是否定的。如果您有每小时增量备份,这总是一个好主意,那么您可以从那里恢复它。
    • 或者如果你碰巧在一个保存历史的 IDE 上开发。我遇到了类似的问题,并使用 Eclipse 来恢复我没有提交的文件。教训:始终承诺。
    猜你喜欢
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多