создайте новый репозиторий git после удаления старого - PullRequest
0 голосов
/ 17 марта 2012

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

Теперь я вернул приложение в работоспособное состояние, и я подумал, что я просто удалил файл .git и запустил git init, чтобы создать новый git.

Когда я это делаю, я получаю

 git init
fatal: cannot copy '/usr/share/git-core/templates/hooks/commit-msg.sample' to '/media/sf_Ruby192/myapp/.git/hooks/commit-msg.sample': Operation not permitted

--------------- ОБНОВЛЕНИЕ LS -al

Этоработает в виртуальной коробке Ubuntu на хосте Windows.Странно то, что он работал без проблем около 7 месяцев, а затем GIT неожиданно начал удалять файлы, и я подумал, что мой .git был поврежден, попытался пересобрать его и столкнулся со всеми этими проблемами.

total 62
drwxrwx--- 1 root vboxsf 4096 2012-03-16 15:03 .
drwxrwx--- 1 root vboxsf 8192 2012-03-15 13:29 ..
drwxrwx--- 1 root vboxsf 4096 2012-02-20 06:43 app
drwxrwx--- 1 root vboxsf 4096 2012-03-16 09:45 config
-rwxrwx--- 1 root vboxsf  161 2011-12-27 05:31 config.ru
drwxrwx--- 1 root vboxsf 4096 2012-03-08 09:58 db
drwxrwx--- 1 root vboxsf    0 2011-12-27 05:31 doc
-rwxrwx--- 1 root vboxsf 1369 2012-02-27 07:23 Gemfile
-rwxrwx--- 1 root vboxsf 4374 2012-02-27 07:24 Gemfile.lock
-rwxrwx--- 1 root vboxsf   86 2012-02-22 13:21 .gitignore
drwxrwx--- 1 root vboxsf    0 2012-02-20 06:43 lib
drwxrwx--- 1 root vboxsf 4096 2012-02-22 08:50 log
drwxrwx--- 1 root vboxsf 4096 2012-03-18 09:02 public
-rwxrwx--- 1 root vboxsf  274 2011-12-27 05:31 Rakefile
-rwxrwx--- 1 root vboxsf 9386 2011-12-27 05:31 README
drwxrwx--- 1 root vboxsf    0 2012-02-27 07:16 redis
drwxrwx--- 1 root vboxsf 4096 2011-12-27 05:31 s
drwxrwx--- 1 root vboxsf    0 2011-12-27 05:31 script
drwxrwx--- 1 root vboxsf    0 2011-12-27 05:31 solr
-rwxrwx--- 1 root vboxsf    4 2012-02-20 06:43 sunspot-solr.pid
drwxrwx--- 1 root vboxsf 4096 2011-12-27 05:31 test
drwxrwx--- 1 root vboxsf 4096 2011-12-27 05:31 thin
drwxrwx--- 1 root vboxsf    0 2011-10-09 09:23 tmp
drwxrwx--- 1 root vboxsf    0 2011-12-27 05:31 vendor

------------------ ОБНОВЛЕНИЕ -----------------------------

при выполнении действий, рекомендованных Брайаном, существует каталог .git (который я создал и переименовал перед запуском начального git init., Когда я выполняю ls -l .git, Я получаю

ls cannot access .git: No such file or directory

Тем не менее, я могу перейти в папку .git, но также не могу запустить -ls изнутри .git, так как я получаю

ls cannot access directory: Operation not permitted

любойпредложения о том, как выбраться из этой дыры ??

Ответы [ 3 ]

1 голос
/ 19 февраля 2015

У меня была эта проблема сама.Оказалось, что оболочка держится за некоторые свойства удаленного репозитория git.После удаления я получаю ту же ошибку fatal: cannot copy.Закрытие оболочки и открытие новой решило проблему.В новой оболочке я смог запустить новое git-репо.У меня также была эта проблема при попытке повторного клонирования репо после его удаления.Запуск новой оболочки решил проблему снова.

1 голос
/ 17 марта 2012

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

Попробуйте ls -l /usr/share/git-core/templates/hooks/commit-msg.sample, чтобы определитьразрешения для вашего шаблона commit-msg.sample;если у вас нет разрешения на чтение, вы не сможете его прочитать (git init копирует несколько файлов шаблонов в ваш репозиторий git; если он не может прочитать исходные файлы, вы получите ошибку).

Далее попробуйте проверить разрешения для файлов назначения.Из каталога вашего проекта запустите ls -al.Проверьте, какие разрешения доступны для . (текущий каталог).У вас есть разрешение на запись для .?Уже есть каталог .git?У вас есть разрешение на запись для этого?Если каталог .git уже существует, выполните там ls -l.Уже существует каталог hooks?У вас есть разрешение на запись в него?Наконец, посмотрите, что произойдет, если вы попытаетесь вручную скопировать /usr/share/git-core/templates/hooks/commit-msg.sample в каталог .git/hooks.Вы получаете ту же ошибку?

Возможно, что следующие шаги помогут вам решить проблему самостоятельно.Если нет, пожалуйста, укажите вывод этих ls -l команд в своем вопросе, что поможет нам выяснить, что происходит.

0 голосов
/ 14 мая 2016

Я тоже встречал эту проблему.Причина была в переполнении диска ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...