Я бы очень хотел взять с собой установку Git, куда бы я ни пошел, поэтому я установил GitPortable через PortableApps. К сожалению, утилиты OpenSSH, доступные в git-bash, настаивают на размещении/поиске папки .ssh в бессмысленном месте (C/.ssh).
Теперь я видел других с той же проблемой, но обычно решение заключалось в том, чтобы установить HOME в качестве переменной среды Windows. Но это не работает для меня.
Из обычной командной строки Windows:
C:\Users\snb>echo %HOME%
C:\Users\snb
Показывая, что переменная среды, по-видимому, установлена правильно. Из git-bash:
snb@SNB-WORKSTATION /c/Users/snb
$ echo $HOME
C:\Users\snb
Показывая, что git-bash согласен. Однако, если я протестирую команду SSH, у OpenSSH будет совершенно неправильное представление о том, где найти папку .ssh:
snb@SNB-WORKSTATION /c/Users/snb
$ ssh -T [email protected]
Could not create directory 'C/.ssh'.
The authenticity of host 'bitbucket.org (131.103.20.167)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)?
Я не понимаю, что делать, чтобы OpenSSH в установке GitPortable понимал, где находится мой домашний каталог. Есть ли у вас какие-либо идеи, кроме как сдаться и просто установить Git для Windows?
РЕДАКТИРОВАТЬ:
Версия OpenSSH:
$ ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1i 6 Aug 2014
Команда использует правильное расположение папки .ssh в командной строке Windows при использовании git-cmd.bat:
C:\Users\snb>ssh -T [email protected]
The authenticity of host 'bitbucket.org (131.103.20.168)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bitbucket.org,131.103.20.168' (RSA) to the list of known hosts.
Enter passphrase for key '/c/Users/snb/.ssh/id_rsa':
Но я действительно ненавижу cmd.exe, мне нужно, чтобы это работало для git-bash! :)
Команда SSH, которую использует git-bash:
$ which ssh
/bin/ssh
Папка /bin находится внутри установки GitPortable, так что это будет версия OpenSSH, распространяемая с GitPortable.
Этот GitPortable основан на msysgit PortableGit-1.9.5-preview20141217 фиксации github
which ssh
? Это ssh, упакованный в msysgit? Каково значение переменной окруженияGIT_SSH
? (как в stackoverflow.com/a/5315762/6309). Какую версию msysgit/Git для Windows вы используете? - person VonC   schedule 05.02.2015export HOME=/c/Users/snb
) - person VonC   schedule 05.02.2015