2012-04-10 2 views
1

Я собираю работу над этой системой Rails, и мне сказали, что я могу изменить сервер, чтобы провести некоторое тестирование. Я сделал небольшое изменение в нескольких файлах для тестирования, подтвердил свои подозрения, а затем сделал рекурсивный git checkout в корневом каталоге.Используется git checkout для возврата файла - в любом случае, чтобы восстановить его?

Я перезапустил пассажира без проблем, но получил ошибку с MySQL, а именно, мой файл database.yml не имел правильных учетных данных. Оказывается, что dev передо мной поставил database.yml в управление версиями, поэтому имена пользователей/паролей в этой системе были возвращены к предыдущей фиксации в рекурсивной git checkout.

Есть ли какой-либо возможный способ вернуть эту версию базы данных.yml? Кажется, я хочу сделать шаг вперед в своих git-коммитах, но я не хочу обезьянствовать с ним, если его можно восстановить этот файл. У кого-нибудь есть идеи?

ответ

2

Вы должны быть в состоянии оформить конкретную версию конкретного файла:

git checkout 5ed99fd2 config/database.yml 

Используйте то, что хэш (ревизия) вы думаете, исправляет эту проблему. Вы можете переключаться довольно быстро, пока не получите правильное решение.

Как вы заметили, включение этого в контроль версий приводит только к печали и боли.

+1

* Внесение этого в управление версиями приводит только к печали и боли. * Аминь. – zetetic

+0

Что делать, если файл никогда не выполнялся, т. Е. Предыдущий разработчик внес изменения, не зафиксировал его, и я вернул изменение? Это потеряно? –

+0

О, если это никогда не было совершено, тогда вы находитесь во власти вашей операционной системы. Обычно ответ - нет. Если у вас есть почасовые инкрементные резервные копии, что всегда является хорошей идеей, вы можете восстановить ее там. – tadman