Gitが突然動作しなくなりました。 (Windows 7でGit Bashを使用しています。Cygwinは使用していません。)
私がプルまたはプッシュしようとするたびに、それは言う:
ディレクトリ「/home/sigod/.ssh」を作成できませんでした
C:\Users\sigod\.ssh
とHOME
にある私のSSHキーは/c/Users/sigod
に設定されています。 various[〜#〜] so [〜#〜]questions に従って動作するはずです。
SSHキーをC:\Program Files\Git\home\sigod\.ssh
に配置すると、Gitが再び機能し始めます。しかし、どうすればそれを汚い解決策なしで機能させることができますか?
Git BashはMSYS2 CygWinに非常に似ている を使用して構築されています。以下はあなたのケースでうまくいくかもしれません、これらのステップに従ってください:
管理者としてcmd.exeを開き、[〜#〜] home [〜#〜]システム環境変数をユーザーディレクトリを指すように設定します。
setx -m HOME ^%UserProfile^%
上記のコマンドは、システム環境にHOME =%UserProfile%を設定します。
Git bashを開き、/ etc/nsswitch.confファイルにコメント化されていないdb_home行エントリ。以下の構成のいずれかに一致していることを確認してください。
オプションa:
db_home: env windows cygwin desc
オプションb:
db_home: windows
手順2でオプションを試すときは、git-bashを完全に閉じます(バックグラウンドプロセスがgit-bashを有効に保ち、ウィンドウからログオフして再度ログインしないようにします)。
上記は、 同じ質問のCygWinバージョン を説明する回答に基づいています。
GitBashは、従来のLinux権限を使用するCygwinに似ています。
次のコマンドをgit bashから実行して、sshディレクトリが正しい場所にあり、適切な権限があることを確認することをお勧めします。
mkdir ~/.ssh
chown $USER:$USER -R ~/.ssh
次にstat ~/.ssh
を実行して、権限が正しく変更されたことを確認します
ls ~/.ssh
キーが正しい場所に正しくインストールされていることを確認します。
echo ~
またはecho $HOME
を実行すると、実際にホームディレクトリとして登録されているディレクトリを確認できます。
~/.bashrc
を変更してexport HOME=/some/directory
という行を追加することで、Linux HOMEを変更できます。
コマンドmount
を入力すると、GitBashファイルシステムがWindowsファイルシステムにどのように対応しているかを確認できます。
MINGW64 /c $ mount
C:/Program Files/Git on / type ntfs (binary,noacl,auto)
C:/Program Files/Git/usr/bin on /bin type ntfs (binary,noacl,auto)
C:/Users/MyUser/AppData/Local/Temp on /tmp type ntfs (binary,noacl,posix=0,usertemp)
C: on /c type ntfs (binary,noacl,posix=0,user,noumount,auto)
D: on /d type ntfs (binary,noacl,posix=0,user,noumount,auto)
他に何も機能しない場合は、Windowsの%HOME%
環境変数を変更して、正しいパスにリダイレクトされるようにすることもできます。ただし、Windowsの環境変数は、~/.bashrc
に追加したLinux変数によって上書きされます。
同じこと:WindowsのGit Bashバージョン2.17.1.2-64ビットで、ディレクトリ '/home/carlos.leao/.ssh'を作成できませんでした。 Windows 10を使用します。
Sigodの回避策で解決します。しかし、strutureフォルダーC:\ Program Files\Git\home\carlos.leaoを作成し、C:\ Users\carlos.leao.sshフォルダーをその中にコピーして、C:\ Users\carlosからシンボリックリンクを作成しました.leao.sshをC:\ Program Files\Git\home\carlos.leao.sshに移動します。これを行うには(carlos.leaoをWindowsユーザー名に置き換えます):
魅力的な作品!