Как восстановить поврежденный объект в репозитории git (для новичков)?

Я попытался открыть свой репозиторий сегодня, и у него не было истории коммитов. Все, что я пытался (git status, git log, git checkout ...) выдавало ошибку о поврежденном объекте.

Я исследовал эту проблему в Интернете и нашел статью Линуса Торвальдса, но затерялся в точка, в которой он обнаружил неработающий идентификатор ссылки: ни один из моих файловых идентификаторов, ни дерева, ни блоба, не совпадает с идентификатором виновника, выданным сообщением об ошибке.

Затем я вернулся к статье о восстановлении «git-объектов, поврежденных жестким диском. сбой диска " Я пропустил этот шаг и выполнил

$ git fsck --full

и получил соответствующий вывод, но затем я должен был скопировать виновника (или того, кого я называл виновником, идентификатор sha1, выданный ошибкой) из резервного хранилища обратно в основной репозиторий, затем скопируйте отсутствующие объекты из резервного репозитория в основной репозиторий, насколько я могу судить; и я не хочу делать что-либо слишком радикально , или я мог бы заставить что-то, что я не могу принуждать позже.

Так что мой (ые) вопрос (ы), я должен был сделать резервное копирование ( ооо, предупреждение новичка ), или это было то, что произошло, когда я распаковал файл .pack? И является ли "виновником", который я копирую, на самом деле чистый файл, то есть не поврежденный?

(я думаю, будет справедливо сказать, что я был изначально смущен простой чертой в файле Торвальдса между " resources> ...

Android позволяет создавать псевдонимы строк ресурсов, например:


 somestring
 @string/foo

, с помощью которого ресурс "bar" становится псевдонимом для ресурса с именем "foo".

То, что я хотел бы для моего приложения это возможность комбинировать существующий префикс ресурса с различными суффиксами, то есть расширять его следующим образом:


 foo
 @string/foo+bar 
 @string/foo+else 

где ресурс «bar» будет выдавать строку «foobar». Понятно, что «+» здесь не работает, но есть ли другой вариант для достижения такой конкатенации строк, чтобы можно было определить кучу строковых ресурсов, имеющих общий префикс?

Я, конечно, понимаю, что мог бы делать такую ​​конкатенацию строк ресурсов во время выполнения, но их статическое определение в ресурсах может показаться намного более элегантным и простым.

Michael

11
задан mmo 31 August 2010 в 22:38
поделиться

1 ответ

Нет, это невозможно. Вы можете просто использовать Это мой %s а затем используйте String.format() в своем приложении, чтобы заполнить переменную, например,

getResources().getString(R.string.foo);
15
ответ дан 3 December 2019 в 08:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: