Guard заменяет все файлы символическими ссылками - PullRequest
0 голосов
/ 04 апреля 2019

Я работал над этим проектом с открытым исходным кодом , который содержит следующий Guardfile:

# A sample Guardfile
# More info at https://github.com/guard/guard#readme

guard :livereload, port: '35738' do
  watch(%r{app/views/.+\.(erb|haml|slim)$})
  watch(%r{app/helpers/.+\.rb})
  watch(%r{public/.+\.(css|js|html)})
  watch(%r{config/locales/.+\.yml})
  # Rails Assets Pipeline
  watch(%r{(app|vendor)(/assets/\w+/(.+\.(css|js|coffee|html|png|jpg))).*}) { |m| "/assets/#{m[3]}" }
  watch(%r{(app|vendor)(/assets/\w+/(.+)\.(scss))}) { |m| "/assets/#{m[3]}.css" }
  watch(%r{(app|vendor)(/assets/\w+/(.+)\.(svg))}) { |m| "/assets/#{m[3]}.svg" }
end

Но я впервые использовал Guard, и я по ошибке запустил bundle exec guard init, который превратил Guardfile в:

# A sample Guardfile
# More info at https://github.com/guard/guard#readme

guard :livereload, port: '35738' do
  watch(%r{app/views/.+\.(erb|haml|slim)$})
  watch(%r{app/helpers/.+\.rb})
  watch(%r{public/.+\.(css|js|html)})
  watch(%r{config/locales/.+\.yml})
  # Rails Assets Pipeline
  watch(%r{(app|vendor)(/assets/\w+/(.+\.(css|js|coffee|html|png|jpg))).*}) { |m| "/assets/#{m[3]}" }
  watch(%r{(app|vendor)(/assets/\w+/(.+)\.(scss))}) { |m| "/assets/#{m[3]}.css" }
  watch(%r{(app|vendor)(/assets/\w+/(.+)\.(svg))}) { |m| "/assets/#{m[3]}.svg" }
end

guard :symlink, ignore: [] do
  watch(/.*/)
end

Затем я запустил bundle exec guard и ввел некоторые команды (возможно, start или all? точно не помню), которые неожиданно начали изменять всемои файлы, и в моей панике я ctrl-c убил процесс.Это оставило кучу символических ссылок и .link_backup файлов в базе кода.

В этот момент я отказался от Guard и просто хочу вернуть свои старые файлы, поэтому я сделал git reset --hard HEAD.Это только исправило файлы под контролем git.У меня есть локальные конфигурационные файлы, которые не контролируются версиями, скажем, FILENAME, которые были переименованы в FILENAME.link_backup, и есть новая символическая ссылка FILENAME, которая указывает на себя.

Как я могу восстановить эти файлы?Есть ли команда Guard, которая может сделать это восстановление автоматически?

...