Я использую Dropbox
для синхронизации git
репозитория, но теперь, когда я пытаюсь и push
получаю сообщение об ошибке:
fatal: Reference has invalid format: 'refs/heads/master (MacBook-Pro's conflicted copy 2012-10-07)'
Итак, похоже, Dropbox обнаружил конфликт и создал копию. Хорошо, без проблем, поэтому я удалил конфликтующий файл. Тем не менее, получение вышеуказанной ошибки git.
$ git checkout master
M index.html
Already on 'master'
$ git add .
$ git commit -a -m "Cleanup repo"
[master ff6f817] Cleanup repo
1 file changed, 5 insertions(+), 5 deletions(-)
$ git push
fatal: Reference has invalid format: 'refs/heads/master (MacBook-Pro's conflicted copy 2012-10-07)'
The remote end hung up unexpectedly`
Как я могу это исправить? Спасибо.
find . -type f -name "* conflicted copy*" -delete
Конфликтующий файл может быть в нескольких местах, я бы посмотрел:
Или вы можете поискать везде в
.git
подкаталоге:find . -name '*conflicted*'
Или, в противном случае, перечислите активные ветки с помощью
git branch -a
и удалите (git branch -d
) все подозрительные.источник
.git
. Я просмотрел и удалил их все, и это исправлено. Спасибо.find . -name '*conflicted*'
(Edit: format)find
я получил один конфликтующий файл и вручную решил проблему с двумяmv
. Делать это медленно и рассуждать шаг за шагом - самый безопасный путь.Это также происходит с нашей командой, когда мой коллега отправляет свои изменения и выключает компьютер до обновления Dropbox.
Я так просто решил.
Просто удалил конфликтующую копию. (Конфликтная копия XXXX гггг-мм-дд)
И тянет нормально.
Обратите внимание, что мой коллега внес изменения до того, как испортился. И он снова продвигает свои изменения. На этот раз без выключения. :)
источник
Мне удалось удалить все конфликтующие файлы из моей папки .git, но я продолжал получать ошибки о файлах, которых больше не существовало.
Исправление для меня заключалось в открытии
.git/refs/packed_refs
и удалении строк, содержащих текст «конфликтующий».источник
Для меня это давало ошибку:
fatal: Reference has invalid format: 'refs/tags/r0.2:3'
Вы можете перейти в файл /.git/packed_refs и удалить строку для
refs/tags/r0.2:3
Потом заработало. Но почему это произошло, я не знаю.
источник
Попробуйте
git checkout master
первым попасть на здоровую ветку с хорошим названием.источник
git push origin master
, а также вставить вывод,git branch -a
пожалуйста?git branch -a
приводит к этой самой ошибке!У меня такая же ошибка
для следующей команды
Затем я поискал ошибочное имя (имя ветки, за которым следует (1)), используя команду
И он показал следующий результат
Это какая-то дублированная версия какой-то ветки IMO. Итак, я удалил это, выполнив команду find после удаления
Затем команда ветки успешно выполняется
источник
Я столкнулся с подобной ошибкой, такой как
Простое удаление файла
.git/refs/heads/user-search-api (Sithu's conflicted copy 2016-01-08)
в удаленном репозитории Dropbox решило проблему.источник