Не удается выполнить git push из-за "remote: fatal: неверные ссылки на объект/pull-requests/{pull_request_id}"

Я клонирую частное репо, затем создаю ветку test из master и безуспешно нажимаю ее.

Вот вывод команды:

$ git push --set-upstream origin test
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote: fatal: bad object refs/pull-requests/101/v2
fatal: bad object refs/pull-requests/101/v2
To ssh://git.my_repo_host:9999/my_repo.git
 ! [remote rejected]   test -> test (missing necessary objects)
error: failed to push some refs to 'ssh://git.my_repo_host:9999/my_repo.git'

Я также пробовал git fsck --full и git gc, но не повезло:

$ git fsck --full
Checking object directories: 100% (256/256), done.
Checking objects: 100% (31288/31288), done.
Verifying commits in commit graph: 100% (4081/4081), done.

$ git gc
Enumerating objects: 31288, done.
Counting objects: 100% (31288/31288), done.
Delta compression using up to 8 threads
Compressing objects: 100% (13738/13738), done.
Writing objects: 100% (31288/31288), done.
Total 31288 (delta 15511), reused 31274 (delta 15505), pack-reused 0 

А это вывод git config --local -l на главной ветке, здесь ничего особенного.

$ git config --local -l
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
remote.origin.url=ssh://git@git.my_repo_host:9999/my_repo.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master

Окончательное обновление

Данные git на моем удаленном хосте репо были повреждены после недавнего обслуживания ИТ-командой. После их исправления все возвращается к норме.
Извините, нет больше подробностей (как они исправили) от них.

Что возвращает git gc? (при выполнении внутри вашего локального репозитория)

VonC 21.11.2022 09:09

@VonC, я добавил вывод к своему вопросу

The Anh Nguyen 22.11.2022 02:27

И я полагаю, проблема сохраняется после fcsk/gc? Можете ли вы включить свой git config --local -l?

VonC 22.11.2022 07:48

@VonC, добавил я. Но никаких особых настроек с моей стороны.

The Anh Nguyen 24.11.2022 06:31
Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
1
4
100
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сообщение об ошибке исходит от программного обеспечения Git на git.my_repo_host, указывая на наличие проблемы в репозитории на ssh://git.my_repo_host:9999/my_repo.git. Мы можем сказать из-за этой строки:

remote: fatal: bad object refs/pull-requests/101/v2

Слово remote здесь означает, что ваше программное обеспечение Git передает сообщение, сгенерированное программным обеспечением другого хоста.

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

Найдите администраторов git.my_repo_host и попросите их исправить репозиторий другой машины.

Я подтвердил, что с моим локальным репо все в порядке. После того, как мы попросили нашего сопровождающего репозитория исправить удаленную базу данных репозитория git. Теперь это работает. Больше никаких подробностей, потому что они починили его на своей стороне.

The Anh Nguyen 24.11.2022 06:19

Стоит отметить, что вы диагностировали проблему по строке, которая начинается с remote: fatal:. Это говорит о том, что ошибка была произведена на удаленной стороне.

j6t 24.11.2022 08:09

@j6t: хорошая мысль, я отмечу это выше.

torek 24.11.2022 10:36

Другие вопросы по теме