Проверка Git преждевременно завершилась ошибкой шины (сброс ядра)

#git

#git

Вопрос:

Я использую ubuntu, и недавно я пытался обновить git с моей текущей версии 2.28 до последней версии 2.29.2, используя инструкции здесь https://git-scm.com/book/en/v2/Getting-Started-Installing-Git и мне не удалось установить «docbook2X», который необходим для завершения установки этой версии git.

итак, моя проблема сейчас в том, что мой git, похоже, сейчас не работает должным образом. На моем компьютере есть репозиторий, где, если я попытаюсь выполнить проверку в другую ветку, произойдет сбой. таким образом, в основном, когда он пытается выполнить «проверку git», он внезапно останавливается и возвращает «Ошибку шины (сброс ядра)»

Поэтому, когда я проверяю с помощью «git status», некоторые файлы выглядят измененными командой git checkout, но git не изменил репозиторий

поэтому я удаляю .git/index.lock, а затем запускаю git restore. чтобы восстановить, затем снова очистить каталог, повторите процесс и получите тот же результат. Так что, по сути, я застрял на одной ветке и не могу перейти на другую.

Любая помощь будет высоко оценена

Комментарии:

1. Это указывает на то, что что-то не так — либо ошибка в Git, либо что-то не так с компьютером (аппаратное или программное обеспечение: может быть плохая память, плохая библиотека и т. Д.). Если вы создали свой собственный Git с нуля, вы можете попробовать создать его в режиме отладки и посмотреть, сможете ли вы таким образом отследить проблему. Обычно большинство людей просто устанавливают готовый пакет Git. Есть ли какая-то особая причина, по которой вам нужен 2.29.2 вместо 2.28?

2. Я думаю, что с одним репозиторием git что-то не так, потому что другие репозитории git, похоже, работают нормально. Похоже, в этом репозитории есть несколько файлов с ошибками, и я не уверен, как их исправить. Кроме того, мне нужна была версия 2.29.2 из-за какого-то инструмента, который я использую, но, похоже, он также не был установлен, когда я проверяю git —version Я все еще на 2.28, но процесс установки не вернул никаких ошибок.

3. Ах, тогда это, вероятно, неправильная установка: если вы сказали 2.29.2 установить себя и частично переписали версию системы 2.28 на 2.29.2, версии 2.28, которые вы используете, вызывают части 2.29.2 для выполнения задач и сбиты с толку их ответами. Обратите внимание, что когда вы создаете Git, вы указываете ему, где ожидать, что он будет установлен; когда вы позже устанавливаете Git, вы указываете ему, где установить. Вы должны соответствовать этим двум шагам.

4. Как вы думаете, мне следует попытаться найти установочные файлы для git 2.29.2 и удалить его? Каковы ваши рекомендации по решению этой проблемы?

5. Что ж, если вы действительно настроены на запуск 2.29.2, соберите его снова и переустановите, но соберите (и установите) с конфигурацией, которую используют люди Ubuntu, что бы это ни было.

Ответ №1:

Обновление: вот как я решил эту проблему.

  1. К счастью, я удалил старый репозиторий, все мои ветки имели удаленное происхождение, поэтому я не потерял ни одной своей работы.

  2. Я повторно клонировал репозиторий.

  3. Затем я извлек каждую из ветвей по отдельности.

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

     git clone the_new_repo/
    cd the_new_repo/
    git fetch "https://github.com/my_username/project.git" "Branch_To_be_fetched"
    git checkout Branch_that_was_fetched
      

К счастью, снова все мои удаленные версии были обновлены с изменениями локальной версии, поэтому я не потерял никакой работы. Я считаю, что проблема возникла в результате повреждения файлов в .git папке. Я не смог найти способ отладки этих ошибок, поэтому я выбрал delete and reclone the repo решение.

Ответ №2:

Удалите / удалите git и установите его снова.

Шаг 1:

 sudo apt-get remove --auto-remove git
  

Шаг 2:

 sudo apt install git-core