Проблема TortoiseGit: git не вышел чисто (код выхода 128)
вот немного фона:
- я запускаю Win7
- у меня есть частное git repo и установлен Github для Windows
- мне не понравился клиент Github для Windows (отсутствие возможностей). Я установил TortoiseGit для Windows (все еще держите Github для Windows)
- я следовал шагам здесь точно http://dancingmonkeysaccelerated.blogspot.com/2012/03/git-for-windows-with-tortoisegit-and.html
- Я могу войти и commit local
- Тогда Я Толкаю
- однако это дало ошибку
git did not exit cleanly (exit code 128)
Я прочитал эту тему:
как разрешить ошибку "git не вышел чисто (код выхода 128)" на TortoiseGit?
и фактически изменил ключ SSH, запустив Puttygen уже три раза. Я также устанавливаю полное разрешение для пользователей в папка. Ничего не работает!!
вот что я вижу в Environment Path
PATH=(others);C:UsersmyusernameAppDataLocalGitHubPortableGit_93e8418133eb85e81a81e5e19c272776524496c6libexecgit-core;
GIT_SSH=C:Program FilesTortoiseGitbinTortoiseGitPLink.exe
SVN_SSH=C:Program FilesTortoiseGitbinTortoiseGitPLink.exe
SSH_ASKPASS=C:Program FilesTortoiseGitbinSshAskPass.exe
GIT_ASKPASS=C:Program FilesTortoiseGitbinSshAskPass.exe
однако: если я использую Github for Windows
он работает нормально.
может ли кто-нибудь указать мне направление для устранения этой проблемы TortoiseGit?
8 ответов
использование TortoiseGit с SSH
здесь нужно различать OpenSSH и PuTTY. (См. https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-network)
OpenSSH
чтобы использовать OpenSSH, вы должны установить ssh.exe
как "SSH-клиент" в настройках TortoiseGit -> сеть. Пакет OpenSSH использует %HOME%/.ssh/id_rsa(.pub)
файлы для их открытых / закрытых ключей по умолчанию, которые должны быть созданы OpenSSH ssh-keygen
и не PuTTYGen (ключи PuTTY имеют другой формат, однако также могут быть преобразованы с помощью PuTTYGen). Если %HOME%
не установлен, TortoiseGit установит его автоматически, если вы вручную установите %HOME%
убедитесь, что он действителен (возможно, вам придется использовать косые черты вместо обратных).
это рекомендуется для людей, у которых уже есть свои ключи OpenSSH.
шпаклевка
PuTTY, который должен быть предпочтительным в Windows, требует, чтобы открытые/закрытые ключи создавались с помощью PuTTYGen (который поставляется с TortoiseGit). TortoiseGitPlink.exe
необходимо выбрать в качестве ssh-клиента в настройках TortoiseGit - > Network-это должно быть по умолчанию. Однако нет места по умолчанию для открытых / закрытых ключей и, таким образом, эти настройки. Есть (по крайней мере два способа сделать это):
настройте свой ключ как ключ по умолчанию в приложениях на основе шпатлевки. Для этого откройте шпатлевку (которая не поставляется с TortoiseGit и должна будь загрузить отдельно). Затем перейдите на страницу Connection - >SSH- >Auth configuration и выберите свой.ppk-файл как "закрытый ключ для аутентификации", вернитесь на страницу конфигурации" сеанс", выберите" Настройки по умолчанию "и нажмите "Сохранить". - >Отныне PuTTY и PLink будут использовать этот ключ для аутентификации.
чтобы заставить TortoiseGit загрузить закрытый ключ для использования с PuTTY, его нужно настроить. для существующего репозиторий: выберите репозиторий, откройте Настройки TortoiseGit - > Remote и выберите конфигурацию удаленного репозитория (обычно "origin"). Затем выберите свой личный .ppk и нажмите "Добавить новый / сохранить". для нового репозитория ключ можно выбрать во время клонирования. при нажатии / вытягивании убедитесь, что" autoload шпатлевка ключ " проверяется.
Я думаю, что нашел лучшую альтернативу для Windows:http://www.syntevo.com/smartgithg/index.html
Это работает до сих пор. Но я все равно предпочитаю TortoiseGit, если могу заставить его работать.
У меня была эта же проблема и я решил ее следующим образом...
У меня установлен Nvidia "Tegra Android Development Pack", и, похоже, также есть версия mysysgit.exe с ним. TortoiseGit автоматически обнаружил это место установки (вместо стандартной установки git) и автоматически заполнил его в меню настроек.
чтобы исправить это, перейдите в: "Настройки - > Общие", и есть поле для пути к mysysgit.исполняемый. Убедитесь, что это указывая на правильную установку.
Не уверен в этой ошибке, но альтернативный способ, для назначения, вместо использования удаленного, используйте" Arbitary URL", который будет использовать git через HTTPS со следующей командой и URL:
git https://@git.assembla.com/.git
У вас должен быть git 1.7 или выше, с Git-http-backend.
Это может быть так же просто, как сделать "тянуть" сначала. У меня была эта проблема, когда я редактировал README.md онлайн на bitbucket. Я взял новый ридми.MD и затем толкнул и ошибка пропала.
в моем случае, я сделал это совершить (жертва не-выход-чисто) из Git Bash. И попробовал следующий коммит от Tortoise, который сработал!
у меня была та же проблема. Чтобы исправить это, я открыл Переменные среды . В пользовательских переменных for была переменная: HOME со значением
c:\Users\[user]
замените значение значением:
c:/Users/[user]/
или если он не существует; добавьте один. Теперь должно работать нормально!
проверьте эту ссылку: community.atlassian.com
в моем случае я удалил "COMMIT_EDITMSG" из .папки в Git и это мне помогло!--1-->
моя ошибка msg " он не вышел чисто (код выхода 128) (109 ms @ 04-Nov-17 5: 45: 48 AM)"
так иди .git и найдите файл "COMMIT_EDITMSG" и удалите его и зафиксируйте свой код