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

Git push failed - нестандартный выход из-под ненужных объектов

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

Операция завершилась неудачно с помощью этого messasge:

git.exe push --progress  "origin" master:master

error: unpack failed: unpack-objects abnormal exit
error: RPC failed; result=18, HTTP code = 200

Я использую клиент TortoiseGit в Windows 7.

Почему я получаю это сообщение? как оправиться от этого состояния?

4b9b3361

Ответ 1

В соответствии с этой статьей git repack remote/origin/master может помочь, если ваш локальный репозиторий поврежден. Чтобы проверить, что вы можете попробовать клонировать удаленное репо в новый каталог и протестировать его.

Ответ 2

Если ваш репозиторий git находится самостоятельно, проверьте права файловой системы в удаленном каталоге git. Если это повреждено, возможно, что ваш сервер git просто не имеет прав.

Например, я размещаю свою собственную систему gitosis на сервере Ubuntu. Когда я создаю репо на git на сервере, я запускаю sudo git init --bare <repo name>, тогда мне нужно запустить sudo chgrp -R gitosis <repo name> && sudo chown -R gitosis <repo name>.

Ответ 3

Это также происходит, когда пульт не имеет места на нем, попробуйте освободить некоторое пространство.

Ответ 4

Также проверьте, не поврежден ли ваш диск. Я столкнулся с одной проблемой на одном из моих VPS несколько минут назад.

Ответ 5

Проверьте разрешения на удаленный/исходный репозиторий. Доступны ли они для пользователя git? Если нет, вы получите эту ошибку. Что-то вроде:

chown git_user.git_user -R /path/to/repo/your_funky_repo

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

Ответ 6

В Windows единственным исправлением, которое сработало для меня, было удаление следующих строк из моего файла .gitconfig:

[credential]
helper = !'C:\\Users\\YourNameHere\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'

Как только я это сделал, я вручную нажал один раз (успешно), а затем добавил вышеприведенные строки обратно в .gitconfig, и все сработало.

Ответ 7

Я столкнулся с этой проблемой, когда установил свежий удаленный сервер и создал репозиторий/папки удаленного w20 с моим root пользователем (а не моим персональным acct). Проблема устранена путем удаления репозиториев git и повторного использования их с моей личной учетной записью. все работает как ожидается.

Ответ 8

На моем сервере (gitlab) мне сначала нужно было chown -R git: git repositories/, но git repack не работал. Проблема была решена, когда я использовал scp для копирования объектного файла из моего локального репо на сервер:

    scp .git/objects/0d/449dd91d8c20c1820d1284371b28637e08a0f3 [email protected]:/home/git/repositories/my/project.git/objects/0d/

Ответ 9

Если вы используете URL-адрес HTTP, вы не можете передавать данные через HTTP. HTTP предназначен для доступа только для чтения. Вместо этого используйте ssh.

Сделайте git remote -v, чтобы проверить, является ли ваш URL-адрес репозитория HTTP-протоколом. Вы можете изменить этот URL, сделав это git remote set-url origin ssh:[email protected]/dir/project.git

После этого вы можете нажать!

Ответ 10

У меня возникла такая же проблема, когда я изменил свой git с VPN на https-соединение.

Что-то случилось в моем репозитории git, и я больше не мог его выталкивать, но по-прежнему работал. Я также пробовал решение с git -repack remote/origin/master, но все тот же вопрос.

Чтобы решить эту проблему, I just made a new clone from my repo with the new connection и смог использовать push-методы, как известно. Я не знаю, почему это невозможно решить с помощью git -repack, но таким образом это работает точно!

Я думаю, что было что-то, что не соответствовало удаленным настройкам VPN для сервера, поскольку я изменил метод доступа на https.

Надеюсь, что это поможет.