Как исправить ошибку «не могу запустить» --version: нет такого файла или каталога »во время подписи Git commit GPG - PullRequest
1 голос
/ 05 мая 2019

Первые шаги и проблемы


Я установил Git на мой Mac, а затем попытался настроить GPG проверку подписи с помощьюследуя инструкциям, изложенным в Github .

Когда я впервые провел тест git commit через Mac OS Terminal , мне было предложенофраза-пароль и коммит были должным образом подписаны и переданы.Нет проблем.

Затем я проверил проверку подписи с помощью редактора Atom .Однако на этот раз подпись git commit завершилась неудачно.

Первоначальные попытки найти решение и дополнительную проблему


Я пытался найти решения для Переполнение стека и GitHub , но не смог найти ничего, что работало, хотя я попробовал некоторые из предложенных предложений.

К сожалению, теперь при попытке git commit через Терминал я получаю следующую ошибкусообщение:

ошибка: невозможно запустить - версия: нет такого файла или каталога
ошибка: gpg не удалось подписать данные
неустранимо: не удалось записать объект фиксации

Я потратил несколько дней, пытаясь найти решение в Интернете, но не смог.

Я не понимаю первую строку сообщения об ошибке ( не может быть запущен -версия: нет такого файла или каталога ) и не удалось найти аналогичную проблему в Интернете.

Дальнейшие попытки и попытки поиска решения


Болеепоследние пару дней у меня есть тря сделал многое, основываясь на предложениях со следующих сайтов:

Я также сделал следующее:

  • Протестированная подпись GPG через GitKraken , которая работает без каких-либо проблем.
  • Протестировано с GitHub Desktop и получено следующее сообщение об ошибке:

    Ошибка: ошибка коммита - получен код выхода 128, с выводом:
    'ошибка: gpg не смог подписать фатальные данные: не удалось записать объект фиксации'

  • Протестирован с редактором Atom и получил следующую ошибку:

    Невозможно зафиксировать.Ошибка: gpg не удалось подписать данные фатально: не удалось записать объект фиксации

  • Uninstalled GnuPG и переустановлен через Homebrew .
  • В конце концов я даже попытался установить GPGTools ' GPGSuite .

К сожалению, проблема сохраняется, и я больше не знаю, чтопопробовать.

Вывод, который я получил для git config -l | grep -E 'gpg|sign:

user.signingkey = 00C23E4C0619F0BD
commit.gpgsign = true
gpg.program = /usr / local / MacGPG2 / bin / gpg2

Я мог бы сделать следующее: git config --global commit.gpgsign false

Но это не решит проблему, и я все равно не смогу подписать свойgit commit.

Что смущает и расстраивает меня, так это то, что он работал во время моего первого git commit после настройки всего, следуя шагам, описанным в официальных руководствах Github .Я не уверен, что я сделал с тех пор, чтобы это больше не работало.Я пытался отследить и стереть любые изменения, но до сих пор не смог решить эту проблему.

Буду признателен за любую помощь и рекомендации.Спасибо!

Обновление 1


Из любопытства я попытался сделать git commit через Терминал с другим локальным репо. Коммит прошел без сбоев, и когда я проверил Github , он был подписан и проверен . Я сделал дальнейшие тесты, чтобы зафиксировать и подписать через GitHub Desktop и Atom , все работает без проблем. Это хорошая новость и дает мне надежду. Однако я до сих пор не знаю, почему git commit работает на одном репо, а не на другом репо, с которым я тестировал. Исходное репо, с которым я тестировал, все еще не может git commit и выдает то же сообщение об ошибке, которое я подробно описал выше ... Интересно, что не так?

Дополнительная информация


Я выполняю следующее:

  • macOS 10.14.4
  • git 2.21.0
  • gpg (GnuPG) 2.2.15

1 Ответ

0 голосов
/ 08 мая 2019

Обновление 2 и решение

После тестирования, поскольку проблема, похоже, возникает только в одном моих локальных репозиториях git, а не в любых других локальных репозиториях git, я пришел к выводу, что в целом Git , GitHub Desktop , Atom и Подпись GPG все работают нормально, и проблема связана с этим одним локальным репозиторием git.

Хотя я старался изо всех сил и до сих пор не выяснил, что именно не так с глючным репозиторием Git и потому что я, кажется, не получаю никаких дополнительных отведений / решений от Переполнение стека Я решил сделать следующее:

  • Удалить мой локальный репозиторий , в котором возникла проблема.
  • Reclone из удаленного репо .
  • После успешных git clone повторных испытаний с git commit и подписью GPG через Terminal , GitHub Desktop и Atom .
  • Все теперь работают нормально.

Наверное, я никогда не узнаю, что на самом деле произошло, но я рад подтвердить, что, по крайней мере, все снова работает нормально. Спасибо @ bk2204

...