web-dev-qa-db-ja.com

TortoiseGitの問題:gitが正常に終了しませんでした(終了コード128)

ここに少し背景があります:

  1. Win7を実行しています
  2. プライベートgitリポジトリとWindows用Githubをインストールしています
  3. Github for Windowsクライアント(機能不足)は好きではありませんでした。 TortoiseGit for Windowsをインストールしました(まだGithub for Windowsを保持します)
  4. 私はここで手順を正確に実行しました http://dancingmonkeysaccelerated.blogspot.com/2012/03/git-for-windows-with-tortoisegit-and.html
  5. ログを取得してローカルでコミットできます

enter image description here

  1. それから私は押します

enter image description here

  1. ただし、エラーgit did not exit cleanly (exit code 128)が発生しました

enter image description here

私はこのスレッドを読みました:

TortoiseGitでの「gitが正常に終了しなかった(終了コード128)」エラーを解決する方法

実際にPuttygenを3回実行して、SSHキーを実際に変更しました。また、フォルダ内のユーザーにフルアクセス権を設定しました。何もうまくいきません!!

これは私が環境パスで見るものです

PATH =(others); C:\ Users\myusername\AppData\Local\GitHub\PortableGit_93e8418133eb85e81a81e5e19c272776524496c6\libexec\git-core;

GIT_SSH = C:\ Program Files\TortoiseGit\bin\TortoiseGitPLink.exe

SVN_SSH = C:\ Program Files\TortoiseGit\bin\TortoiseGitPLink.exe

SSH_ASKPASS = C:\ Program Files\TortoiseGit\bin\SshAskPass.exe

GIT_ASKPASS = C:\ Program Files\TortoiseGit\bin\SshAskPass.exe

ただし:Github for Windows正常に動作します。

誰かが私にこのTortoiseGitの問題をトラブルシューティングする方向を教えてもらえますか?

8
HP.

私はWindowsのより良い代替案を見つけたと思います: http://www.syntevo.com/smartgithg/index.html

これまでのところ機能しています。しかし、私はTortoiseGitを動作させることができるのであれば、それでも好みです。

0
HP.

一般的な答え

_git.exe_が実行されるたびに、終了コードが返されます(cf gitは特定の戻りエラーコードを返しますか? )。

_0_の終了コードは成功を示します。

StackOverflowの投稿で、エラーを示す終了コード128が言及されています。

_(exit code 128)_はある種の「予期しないエラー」です(cf. https://stackoverflow.com/a/8059956/390676 )。それが何を意味するかは、実行されたgitコマンドとそれが発行した出力に大きく依存します。したがって、これを解決する方法について簡単で短い答えを1つにすることはできません。

次の投稿には、Pushケースに関連する特定の回答と、最後に、より一般的な回答が含まれています(これがセクションに役立たない場合)。


最初のStackoverflowポストのケースの回答

次の答えは、_git.exe_がプッシュを実行するために実行されたという事実に基づいています。

SSHでTortoiseGitを使用する

ここでは、OpenSSHとPuTTYを区別する必要があります。 ( ここを参照

OpenSSH

OpenSSHを使用するには、TortoiseGitの設定->ネットワークで_ssh.exe_を「SSHクライアント」として設定する必要があります。
OpenSSHはデフォルトで公開鍵/秘密鍵に%HOME%/.ssh/id_rsa(.pub)ファイルを使用します。これはOpenSSH _ssh-keygen_で作成する必要があり、PuTTYGenではありません(PuTTYキーは別の形式ですが、 PuTTYGenを使用して変換されます)。
_%HOME%_が設定されていない場合、TortoiseGitは自動的に設定します。手動で_%HOME%_を設定した場合は、有効であることを確認してください(バックスラッシュの代わりにスラッシュを使用する必要がある場合があります)。

これは、すでにOpenSSHキーを持っている人にお勧めです。

パテ

Windowsで推奨されるPuTTYには、PuTTYGen(TortoiseGitに付属)を使用して公開鍵/秘密鍵を作成する必要があります。
_TortoiseGitPlink.exe_は、TortoiseGit設定のSSHクライアントとして選択する必要があります->ネットワーク-これがデフォルトです。ただし、公開鍵/秘密鍵のデフォルトの場所はないため、これらを構成する必要があります。 (少なくとも2つの方法があります):

  1. PuTTYベースのアプリケーションのデフォルトのキーになるようにキーを構成します。これを行うには、PuTTYを開きます(TortoiseGitには同梱されておらず、別途 ダウンロード する必要があります)。次に、[接続]-> [SSH]-> [認証]設定ページに移動し、.ppkファイルを[認証用の秘密鍵]として選択し、[セッション]設定ページに戻り、[デフォルト設定]を選択して、[保存]をクリックします。 ->今後、PuTTYおよびPLinkは認証にこのキーを使用します。

  2. TortoiseGitにPuTTYで使用する秘密鍵をロードさせるには、それを設定する必要があります。

    • 既存のリポジトリの場合:リポジトリを選択し、TortoiseGit設定->リモートを開き、そこでリモートリポジトリ構成を選択します(通常は「Origin」)。次に、秘密の.ppkキーを選択し、[新規追加/保存]をクリックします。
    • 新しいリポジトリの場合、クローン作成中にキーを選択できます。 プッシュ/プルするときは、「PuTTYキーの自動ロード」がチェックされていることを確認してください。

PuTTYを使用するためのその他のヒント/コツ


これが役に立たない場合

最初に、正しい_git.exe_が呼び出されていることを確認する必要があります。通常、TortoiseGitが最初の起動時にシステムで正しい_git.exe_を見つけようとするためです。これは、TortoiseGit設定->一般に移動することで簡単に行えます。 「_git.exe_ Path」が「Git for Windows」の正しいフォルダーを指しているかどうかを確認する必要があります(cmdフォルダーではなく、Git for Windowsインストールのbinフォルダーを指している必要がありますが、これは自動的に行われます)。 -msysgit(「Git for Windows」の開発バージョン)を使用する場合、_[MSYSGIT-INSTALL-PATH]\mingw\bin-folder_がパス上にある必要があります(つまり、Extern DLL Pathテキストボックスに入力) _git.exe_(それ以外の場合は必要な.dllファイル)を実行するために見つかりません( TortoiseGit docs を参照)

[今すぐ確認]をクリックして、ボタンの横に正しいバージョン番号が表示されていることを確認します(エラーメッセージではありません)。
これが機能している場合、_git.exe_が正しく設定され、httpsで機能する必要があります。

2
MrTux

私はこれと同じ問題を抱えていて、次の方法で解決しました...

私はNVIDIA "Tegra Android Development Pack"をインストールしていて、mysysgit.exeのバージョンも一緒にあるようです。TortoiseGitは(標準のgitインストールの代わりに)そのインストール場所を自動的に見つけました。設定メニューで自動入力されます。

これを修正するには、「設定->一般」に移動します。mysysgit.exeへのパスのフィールドがあります。これが正しいインストールを指していることを確認してください。

1
roadrunner

私の場合、Git Bashからそのコミット(did-not-exit-cleanlyの犠牲者)を作成しました。そして、亀からの次のコミットを試してみましたが、うまくいきました!

0

私はここに行きます:Control Panel-> Credential Manager

enter image description here

パスワードを削除または編集します。

0
Morteza Pouladi