2

ご存じのとおり、Git Bash は非ラテン文字をサポートしていません。その結果、SSH キーの作成および使用中に複数の障害が発生します (パスがロシア語であるため)。

回避策はありますか?

4

1 に答える 1

2

それはあなたのHOMEがどこを指しているかに完全に依存しますか?

問題 491を参照してください。

私のテストを要約すると、Windows ユーザー名に非 ASCII 文字が含まれている場合:

  1. 環境変数が ASCII パスに設定されていてHOME、そのパスが存在する場合、Git Bash はそのパスを見つけます(これが可能な回避策の 1 つです)。

  2. HOME環境変数がなくHOME、" " 内の定数がgit/etc/profileASCII パスに設定されていて、そのパスが存在する場合、Git Bash はそれを見つけます。動作は 1 とまったく同じようです。

  3. HOME環境変数が非 ASCII パス (" " など) に設定されている場合C:\Höme、Git Bash はそれを見つけられません。C:\Documents and settings\[User Name]ディレクトリにフォール バックしようとしますが、 [User Name].

  4. HOMEシステム環境変数 (または の定数) が完全な ASCII パスに設定された後git/etc/profile、Git Bash はホーム ディレクトリを見つけますが、表示されたメッセージでユーザー名を壊します。

  5. Git GUI を初めて実行するときに、ファイルをステージングしてコミットしようとすると、コミット メッセージに無効な utf-8 文字が含まれているというエラーが表示されます。
    これを回避するには、ダイアログを開きEdit->Options、対応する編集ボックスに有効なユーザー名と電子メール アドレスを入力します
    Git は、私のメッセージとユーザー名と電子メールに基づいて拡張メッセージを作成しているようです。フィールドが空であるため、Windows ユーザー名からデフォルト値を生成しようとしているように見えますが、おそらく私のシステムではそれを ISO-8859-1 文字列として取得し、コードの別の部分でそれが有効であると想定しています。 utf-8 ですが、そうではありません。

  6. ユーザー名と電子メール フィールドが空のままの場合、[編集] -> [オプション] ダイアログでいくつかのオプションを変更しようとすると、上の画像 "error2.jpg" に示されているエラーに遭遇しました。ただし、このエラーは常に発生するわけではなく、エラーが発生する正確な手順についてはわかりません。

  7. 変数とユーザー名と電子メール アドレスを設定しHOMEたら、次の作業を除いて、問題なく作業できます。

  8. 非 ASCII パスとファイル名は、ローカル Windows エンコーディングの文字で構成されている場合、ステージングおよびコミットできます(スペイン語、英語、およびほとんどの西ヨーロッパの Windows システムでは ISO-8859-1 だと思います)。
    これで、「cañón.txt」という名前のファイルをステージングしてコミットできました。
    ただし、ローカルの Windows エンコーディングで表現できない Unicode 文字 (" C:\My tests\test五.txt" など) がパスに含まれている場合、そのようなファイルは Git GUI ウィンドウで壊れて表示され、no such file or directoryステージングしようとすると " " エラーが発生します。

于 2011-03-21T19:32:53.233 に答える