Я использую git bash на компьютере с Windows: версия 2.7.2 (32-разрядная версия) Git для Windows, построенная на 2016-02-23, доступна по адресу https://git-scm.com.
В bash я могу скопировать каталог из /c/
в /e/
(флэш-накопитель USB). Тем не менее, я получаю ошибки, когда я пытаюсь использовать rsync
. Я попытался добавить cygdrive
в имена каталогов, но это не сработало. Также попытался добавить -e
(просто чтобы посмотреть, что произойдет), который тоже не работал.
Я упоминаю, что команда копирования работает, потому что странно, что я вижу диск в одном направлении, но не вижу его другим способом.
Спасибо, и, пожалуйста, прокомментируйте, если вы снизите голос, чтобы помочь мне сделать вопрос лучше
Дополнительные сведения и исследования:
Ошибка 255
В какой-то момент я считаю, что я получил точно такую же ошибку (255), которая привела меня к этому посту. Тем не менее, решение здесь связано с cygwin
, а не Git Bash.
https://stackoverflow.com/questions/16969119/dotcloud-push-on-cygwin-fails-with-rsync-error-unexplained-error-code-255
Бродяга и rsync
Существует много хороших рассуждений о механике rsync
, особенно от mitchellh
. Однако я не был уверен, какие компоненты, на которые они ссылаются, присутствуют в моей установке, или не уверен, как сказать. Я задал отдельный вопрос на этом сайте об этой проблеме.
источник: https://github.com/mitchellh/vagrant/issues/3236
Перечисление дисков в эмулируемых средах Linux
источник: http://mingw-users.1079350.n2.nabble.com/Windows-c-drive-td6555321.html Когда я делаю cat /etc/fstab
я получаю следующее:
$ cat /etc/fstab
# For a description of the file format, see the Users Guide
# http://cygwin.com/cygwin-ug-net/using.html#mount-table
# DO NOT REMOVE NEXT LINE. It remove cygdrive prefix from path
none / cygdrive binary,posix=0,noacl,user 0 0
none /tmp usertemp binary,posix=0,noacl 0 0
Что, я думаю, указывает на наличие тома с именем cygdrive
, однако я не нашел ни одной команды, которая успешно обращается к этому имени.
Возможный дублирующий вопрос:
@kenorb предположил, что этот вопрос является дубликатом Почему cwRsync не работает в Windows? ,
Я не помню, чтобы видел этот пост вчера, но этот выглядит как мой. Я все еще думаю, что это не так, потому что этот вопрос был опубликован в 2011 году, а эта версия rsync
с 2016 года. Предыдущая версия, которую я использовал вчера утром (была установлена в 2015 году), вызвала другую ошибку и предложила мне обновить мою версию git / git bash.
Если этот вопрос является дубликатом, на данный момент нет принятого ответа, и верхний ответ не работает для меня.
В целом, все эти исследования привели меня к мысли, что с rsync
в портах Windows было несколько проблем, и это только самая последняя проблема.
Я думаю, что проблему можно решить, указав диск по-другому ... но я не знаю, что сработает. Я пытался использовать имя диска, букву диска, синтаксис обратной косой черты Windows. Очевидно, это не сработало, и, в конце концов, я просто угадал.
rsync в msysgit
18.10.11 Вернер БЕРУ сказал
Можно ли избежать, чтобы передать "/c/Folder" в качестве аргумента приложению? Git преобразует это в «C:\Folder» по умолчанию, и, кажется, я не могу избежать этого, даже используя обычные методы экранирования. https://groups.google.com/forum/#!topic/msysgit/J1hvt9Ave8g
Я не уверен, что это связано, я думаю, что они пытаются использовать rsync внутри команды git, но интересно, что у них проблемы с путевыми именами. Интересно , если эти ошибки , вызванные пути переводятся на :
Коды ошибок 12 и 255 (изменение от 21 марта 2016 г.)
Так как кто-то еще (@davidpostill) говорит, что это тоже дубликат, я подумал, что снова попробую ответы / комментарии в другом вопросе .
Ответы и комментарии большинства других участников по-прежнему не помогли мне, и это привело меня к выводу, что это другая проблема.
Вот результаты попытки rsync с флэш-накопителя, как это было предложено в последнем комментарии к ответу на главный вопрос по другому вопросу:
Сначала я попытался использовать /c/
, который является способом ссылки на диски в других командах Bash для Windows.
user@computer MINGW32 /e
$ rsync -trd /c/examp/ .
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [Receiver=3.0.9]
Я получил ту же ошибку с префиксом /cygwin
:
user@computer MINGW32 /e
$ rsync -trd /cygwin/c/examp/ .
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [Receiver=3.0.9]
Пробовал различные типы добавления c:
но, как уже указывалось ранее, двоеточие заставляет rsync
думать, что это удаленное соединение, и поэтому происходит сбой с ошибкой 255.
user@computer MINGW32 /e
$ rsync -trd /c:/examp/ .
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [Receiver=3.0.9]