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

99

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

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

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

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

потрошитель234
источник
Это единственная ошибка, которую вы получаете? Обычно вы видите эту ошибку вместе с другими сообщениями об ошибках. Это может означать очень многое, от проблем с локальной конфигурацией до конфигураций сервера.
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, но это делает свою работу.

user416456
источник
6

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

Бенни
источник
5

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

Sirentec
источник
1
Я столкнулся с той же проблемой, используя Source Tree, и это решение подходит мне лучше всего! Спасибо!
Пауло Энрике Кейрос,
4

на win7 64:

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

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

опто
источник
3

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

Цезарь
источник
1

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

Эрик Бергштедт
источник
1

В моем случае я забыл добавить git к имени репозитория в конце.

Манаси Диван
источник
1

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

user2062360
источник
1

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

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

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

Roadrunner
источник
1

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

Роэл ван Роозендал
источник
0

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

Sajin TM
источник