#git #github
Вопрос:
Мой вывод git приводит к
error: cannot lock ref
'refs/remotes/origin/victor/moreLocalGCPStorageTesting':
'refs/remotes/origin/victor' exists; cannot create
'refs/remotes/origin/victor/moreLocalGCPStorageTesting'
From github.com:deanhiller/webpieces
! [new branch] victor/moreLocalGCPStorageTesting ->
origin/victor/moreLocalGCPStorageTesting (unable to update local ref)
error: some local refs could not be updated; try running
'git remote prune origin' to remove any old, conflicting branches
поэтому я запускаю git remote prune origin, а затем git pull и получаю ту же ошибку.
Все это на GitHub, как мне это исправить?
Подробнее. Когда я запускаю ветку git ->
(base) Deans-MacBook-Pro:webpieces dean$ git branch
* master
submit_dean/generateHttpClient
submit_dean/googleCloudStorage
submit_dean/startingFixedSsl
Хорошо, эти две ветви в моем удаленном репо существуют ->
- происхождение/Виктор
- происхождение/виктор/moreLocalGCPStorageTesting
Обратите внимание на случай, поскольку именно это все испортило!!
Комментарии:
1. каковы результаты:
git remote prune origin
? вы упомянули, что пробовали. Вы проверили, что у вас нет локальной ветви и удаленной ветви (неотслеживаемой-нет восходящего потока) с одинаковым именем локально и на удаленном компьютере?2. Сначала я прочитал одну из букв «Л»в вашей фамилии как «Т»:)
Ответ №1:
'refs/remotes/origin/victor' exists; cannot create 'refs/remotes/origin/victor/moreLocalGCPStorageTesting'
Git извлек новую ссылку на ветвь, вызванную victor/moreLocalGCPStorageTesting
с удаленного компьютера, но не может создать victor
каталог локально, потому что уже вызвана ссылка на ветвь victor
.
Вот как это выглядит в файловой системе:
.git/refs/remotes/origin/
|-- victor <-- This branch reference exists,
`-- victor <-- so Git cannot create this directory
`-- moreLocalGCPStorageTesting <-- in order to store this new branch.
Вы можете попробовать переименовать локальную victor
ветвь удаленного отслеживания во что-то другое. Вам придется сделать это в файловой системе, хотя:
$ mv .git/refs/remotes/origin/victor .git/refs/remotes/origin/foo
Если вы проверили victor
локальную ветвь, вам также следует обновить ее исходную ссылку. Кроме того, имейте в виду, что в следующий раз, когда вы принесете, вы снова получите victor
ветку.
Лучшее решение-попросить автора victor
ветки переименовать ее в вышестоящем репо.
Комментарии:
1. по иронии судьбы, я не создал ни одну из этих ветвей, но Виктор создал ветвь origin/Victor и origin/victor/moreLocalGCPStorageTesting, и ваш пост помог мне это понять.