Как устранить ошибку «git не завершился чисто (код выхода 128)» в TortoiseGit? [закрыто]


99

Я столкнулся с этой серьезной ошибкой при фиксации и создал отчет об ошибке .

Я продолжаю получать эту ошибку при операциях TortoiseGit:

git не завершился чисто (код выхода 128)

Я переустановил программу, перезагрузился и попытался клонировать новое репо из github - похоже, ничего не работает. Я также удалил папку% appdata% \ Tortoise git ... Я сейчас в растерянности. Любой совет о том, как действовать?


Это единственная ошибка, которую вы получаете? Обычно вы видите эту ошибку вместе с другими сообщениями об ошибках. Это может означать очень многое, от проблем с локальной конфигурацией до конфигураций сервера.
SinisterRainbow

недостаток места на диске вызвал эту проблему для меня
Майк

для меня он не работал с черепахой git, но я добился успеха с git bash просто. Попробуй это
Noman

8
Я проголосовал за повторное открытие. На этот вопрос может быть много ответов, но с точки зрения пользователя больше ничего не может быть предоставлено, как это сделал OP. Диапазон возможных ответов зависит не от того, что спрашивает OP, а от того, как git использует код возврата 128.
SpaceTrucker

В моем случае я просто набираю ssh-addтерминал и начинаю работу.
lucianosousa

Ответы:


39

Вероятно, это потому, что ваш SSH-ключ был скомпрометирован. Создайте новый и добавьте его в свою учетную запись GitHub.


11
Это не значит, что ключ был взломан ... github аннулировал все ключи, когда они были взломаны несколько недель назад.
ripper234

1
Для создания нового ключа SSH. Обратитесь к help.github.com/articles/generating-ssh-keys
emeraldhieu

4
К вашему сведению, этот ответ больше недействителен, потому что код выхода 128может означать множество вещей и не относится к SSH.
jefflunt

30

для меня мне просто нужно было добавить настройку моего имени пользователя git и электронной почты с помощью следующих команд:

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

2
Это для систем на базе unix. Ребята просит винду. Все мы знаем, что в Ubuntu все просто ...
Деян Добромиров

8
Вышеупомянутое, очевидно, работает и с окнами. Насколько я знаю, команды git никогда не специфичны для ОС.
T_D

Спасибо, что решил мою проблему Bitbucket. Пришлось добавить имя и почту в настройки черепахи, и теперь все работает!
Johannes Stadler

решить мою проблему на Windows
Саливан

10

git-bashсообщает о неисправности: невозможно создать <Path to git repo>/.git/index.lock: файл существует.

Удаление index.lock устраняет ошибку.


Это сработало для меня после того, как я прервал фиксацию после того, как понял, что пропустил файл. Удаление позволило мне выполнить фиксацию и снова нажать.
Robert Went

7

Если вы используете Windows 7:

Я пытался решить, как это сделать безопасно, но вот самый ленивый способ:

  1. щелкните правой кнопкой мыши родительскую папку
  2. нажмите кнопку "Свойства"
  3. перейдите на вкладку "безопасность"
  4. нажмите кнопку "изменить"
  5. щелкните группу, которая начинается с "Пользователи"
  6. установите флажок "полный контроль"
  7. щелкните все ОК, чтобы закрыть диалоговые окна.

Я понимаю, что это может обойти функции «безопасности» Windows, но это делает свою работу.


6

В моем случае папка в моем каталоге с именем git-репозиторий на сервере вызвала сбой.



4

на win7 64:

git-gui дает хороший ответ: предыдущий git разбился и оставил файл блокировки. Удалить вручную. В моем случае это было в .git / ref / Heads / branchname.lock.

удалить, и ошибка 128 исчезнет. Удивительно, что черепаха не дает такого простого объяснения.


3

В моем случае это было из-за прокси. Прокси-сервер был необходим в корпоративной сети, и TortoiseGit / Git, похоже, не получает автоматически информацию из интернет-настроек Windows. Настройка прокси-адреса решила проблему.


1

Что касается меня, я пытался проверить SVN-проект с помощью TortoiseGit. Но если бы я использовал TortoiseSVN, он работал нормально. (Может показаться очевидным, но новички могут наткнуться на это)



1

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


1

У меня была такая же проблема, и я решил ее следующим образом ...

У меня установлен NVIDIA «Tegra Android Development Pack», и, похоже, с ним также есть версия mysysgit.exe. TortoiseGit автоматически нашел это место установки (вместо стандартной установки git) и автоматически заполнил его в меню настроек.

Чтобы исправить это, перейдите в: «Настройки -> Общие» и там есть поле для пути к mysysgit.exe. Убедитесь, что это указывает на правильную установку.


1

Быстрое решение - создать новый локальный каталог, например c: \ git_2014. В этом каталоге щелкните правой кнопкой мыши и выберите Git Clone.


0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.