ご存じのとおり、Git Bash は非ラテン文字をサポートしていません。その結果、SSH キーの作成および使用中に複数の障害が発生します (パスがロシア語であるため)。
回避策はありますか?
それはあなたのHOMEがどこを指しているかに完全に依存しますか?
問題 491を参照してください。
私のテストを要約すると、Windows ユーザー名に非 ASCII 文字が含まれている場合:
環境変数が ASCII パスに設定されていて
HOME
、そのパスが存在する場合、Git Bash はそのパスを見つけます(これが可能な回避策の 1 つです)。
HOME
環境変数がなくHOME
、" " 内の定数がgit/etc/profile
ASCII パスに設定されていて、そのパスが存在する場合、Git Bash はそれを見つけます。動作は 1 とまったく同じようです。
HOME
環境変数が非 ASCII パス (" " など) に設定されている場合C:\Höme
、Git Bash はそれを見つけられません。C:\Documents and settings\[User Name]
ディレクトリにフォール バックしようとしますが、[User Name]
.
HOME
システム環境変数 (または の定数) が完全な ASCII パスに設定された後git/etc/profile
、Git Bash はホーム ディレクトリを見つけますが、表示されたメッセージでユーザー名を壊します。Git GUI を初めて実行するときに、ファイルをステージングしてコミットしようとすると、コミット メッセージに無効な utf-8 文字が含まれているというエラーが表示されます。
これを回避するには、ダイアログを開きEdit->Options
、対応する編集ボックスに有効なユーザー名と電子メール アドレスを入力します。
Git は、私のメッセージとユーザー名と電子メールに基づいて拡張メッセージを作成しているようです。フィールドが空であるため、Windows ユーザー名からデフォルト値を生成しようとしているように見えますが、おそらく私のシステムではそれを ISO-8859-1 文字列として取得し、コードの別の部分でそれが有効であると想定しています。 utf-8 ですが、そうではありません。ユーザー名と電子メール フィールドが空のままの場合、[編集] -> [オプション] ダイアログでいくつかのオプションを変更しようとすると、上の画像 "error2.jpg" に示されているエラーに遭遇しました。ただし、このエラーは常に発生するわけではなく、エラーが発生する正確な手順についてはわかりません。
変数とユーザー名と電子メール アドレスを設定し
HOME
たら、次の作業を除いて、問題なく作業できます。非 ASCII パスとファイル名は、ローカル Windows エンコーディングの文字で構成されている場合、ステージングおよびコミットできます(スペイン語、英語、およびほとんどの西ヨーロッパの Windows システムでは ISO-8859-1 だと思います)。
これで、「cañón.txt
」という名前のファイルをステージングしてコミットできました。
ただし、ローカルの Windows エンコーディングで表現できない Unicode 文字 ("C:\My tests\test五.txt
" など) がパスに含まれている場合、そのようなファイルは Git GUI ウィンドウで壊れて表示され、no such file or directory
ステージングしようとすると " " エラーが発生します。