Подтвердить что ты не робот

Git проблемы с Git push --all

У меня есть базовый репозиторий, который живет на UNC\machine\share.... и т.д. У меня есть локальный клон, над которым я работаю в мастер-ветке и иногда сливаюсь с "стабильной" ветвью.

обычно я делаю git push --all

чтобы переместить все изменения во всех ветвях на сервер. После создания новой ветки git branch MultiCompany

а затем нажав его на сервер git push --all

который также создает ветвь на сервере. Я сделал некоторую работу, совершил все изменения в многокомпонентной ветки, а затем попытался сделать git push --all

и получил следующую ошибку:

[email protected] ~/desktop/git sourcetree/maerekai.web.framework (multicompany) 
$ git push --all
Counting objects: 28, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (22/22), done.
Writing objects: 100% (23/23), 11.34 KiB, done.
Total 23 (delta 8), reused 0 (delta 0)
Unpacking objects: 100% (23/23), done.
error: Ref refs/heads/multicompany is at bd5a32df35ce8d5ae30ce999af34c4c5f35581df but expected 0000000000000000000000000000000000000000
remote: error: failed to lock refs/heads/multicompany
To //pluto/users/cdturner/Git repositories/Maerekai.web.framework.git
 ! [remote rejected] multicompany -> multicompany (failed to lock)
error: failed to push some refs to '//pluto/users/cdturner/Git repositories/Maerekai.web.framework.git'

Я попытался отменить последнюю фиксацию с помощью git reset --hard HEAD^

а затем повторил попытку.....

[email protected] ~/desktop/git sourcetree/maerekai.web.framework (multicompany)
$ git push --all
Total 0 (delta 0), reused 0 (delta 0)
error: Ref refs/heads/multicompany is at bd5a32df35ce8d5ae30ce999af34c4c5f35581df but expected 0000000000000000000000000000000000000000
remote: error: failed to lock refs/heads/multicompany
To //pluto/users/cdturner/Git repositories/Maerekai.web.framework.git
 ! [remote rejected] multicompany -> multicompany (failed to lock)
error: failed to push some refs to '//pluto/users/cdturner/Git repositories/Maerekai.web.framework.git'`
4b9b3361

Ответ 1

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

Мы только что столкнулись с такой же ошибкой и смогли решить проблему, просто переименовав локальную ветвь в соответствии с капитализацией существующей удаленной ветки.

См. здесь как переименовать локальный ветвь.

В Windows из-за капитализации вам может потребоваться выполнить два шага:

git branch -m example foo
git branch -m foo EXAMPLE

Ответ 2

выполните git fsck --full в удаленном репо. Возможно, удаленное репо стало коррумпированным. Клонировать еще один из пульта. Замените оригинальный пульт на этот. Теперь вы должны снова нажать. Что-то случилось с удаленным репо. Ничто из того, что вы делаете, не соответствует регулярному использованию.

Ответ 3

Я обнаружил, что пыталась нажать ветвь develop в репозиторий с ветвями с именем: develop/1148 и develop/693. git не работает с этим (я забыл, почему), поэтому удаление этих ветвей (если возможно) устраняло это зависание.

Ответ 4

Спасибо, git fsck --full сообщил о "обманутой фиксации"

так что git чернослив сдул оскорбительные вещи, и я снова должен был ввести его. Btu, по крайней мере, все деревья разрешены.

Спасибо за помощь.