Git для Windows удаленный отклоненный мастер -> мастер (ошибка распаковщика)
У меня проблемы с git-репозиторием для работы с моей командой в нашей локальной сети.
Я получаю эту ошибку при отправке в мой голый репозиторий.
У нас есть вся инфраструктура на Windows, и мы не можем перейти на Linux.
Я использую git для Windows, и мне удалось запустить пустой репозиторий на сервере, а затем вытащить репозиторий с двух других машин, внести изменения, зафиксировать их и перенести в пустой репозиторий.
На данный момент все хорошо, но мы хотим иметь команду для развертывания нашей разработки.
Я нахожу, что мне нужен крюк после получения.
Итак, я сделал и создал хук post-receive и выглядел так:
#!/bin/bash
git --work-tree=C:/Users/Admin/Desktop/fertitest
--git-dir=C:/Users/Admin/Desktop/fertitest.git checkout -f
Я добавляю разрешение на полный доступ пользователям, которым разрешено делать push на сервер в обоих каталогах.git и рабочем, где я хочу развернуть код после команды push.
После этого мы можем сделать копию нашего хранилища, где мы хотели с
git clone //SERVER/fertitest.git
Добавляйте файлы и совершайте коммиты с
git add *
git commit -a -m "first stage"
но когда мы пытаемся подтолкнуть
git push origin master
Мы получаем следующую ошибку:
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 263 bytes | 263.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
error: remote unpack failed: unable to create temporary object directory
To //CENTRAL/Users/Administrador/Desktop/fertipruebas.git
! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to
'//SERVER/fertitest.git'
Я застрял на этом этапе, и я не могу найти, где находится ошибка, я пытался найти это, но все, что я нашел, было в среде Linux и было ошибками разрешения или чем-то еще, а не ошибкой распаковщика.
Есть идеи, что я могу попробовать?
1 ответ
Ошибка "невозможно создать временный каталог" означает, что по какой-то причине удаленный компьютер не может создать каталог временных объектов, который необходим для помещения объектов в карантин во время отправки. Обычно это означает, что разрешение на создание одного или нескольких каталогов в этой иерархии не удалось.
Вам следует взглянуть на разрешения вызывающего пользователя, чтобы убедиться, что у него есть разрешение на создание каталогов в репозитории Git. Как вы это сделаете, конечно, зависит от того, является ли удаленный сервер машиной Unix или Windows.