Использование git поверх sshfs слишком медленно - PullRequest
23 голосов
/ 30 августа 2011

Я использую git over sshfs (под Mac OS X 10,5, 10.7), но это слишком медленно.

Каждый раз, когда я входил на удаленный сервер напрямую, чтобы использовать команду git.

Я попробовал этот пост, http://kerneltrap.org/mailarchive/git/2008/10/23/3768494 однако он не работает.

Кто-нибудь знает какие-нибудь хорошие идеи?

Ответы [ 3 ]

20 голосов
/ 01 сентября 2011

Вы можете выбрать другую файловую систему.SSHFS в основном удобный инструмент.MacOS, например, поддерживает монтирование NFS, и это быстро.

Еще один способ продвинуться вперед - использовать rsync или unison (инструмент 'двухсторонний rsync').Они действительно быстро синхронизируют между удаленной и локальной файловой системой.В сочетании с некоторыми быстрыми псевдонимами оболочки для удаленной компиляции / запуска это хороший обходной путь.

Другим способом было бы удаленное управление средой разработки через VNC / X11.Это делает IDE несколько более медленным, но код не нужно синхронизировать.

Сочетание вышеперечисленного состоит в том, чтобы сделать виртуальную машину клоном сервера удалений, запустить ее на локальном компьютере иделиться папками через виртуальную машину или локальную NFS между ними.

Вы также можете настроить sshfs.Есть несколько вариантов настройки монтирования, и вы также можете отключить шифрование.Это дает примерно двукратное ускорение в целом, поэтому не ожидайте чудес.

Находясь в том же положении, что и постер, я годами искал решения, но, не сумев этого сделать, я, к несчастью, согласилсятонко настроенные sshfs в сочетании со случайными rsyncs и терпением.

7 голосов
/ 26 июня 2013

Я знаю, что это очень старо, но я сталкиваюсь с этой проблемой ежедневно.У меня очень сложная среда, которую было бы практически невозможно / долго воссоздать на месте.У нас есть вещи повсюду, и мы работаем со сторонними API-интерфейсами. API-интерфейсы cPanel и т. Д.

Единственное решение, которое мне подходит, - это монтировать и работать с файлами локально через sshfs, но, когда приходит время, мне нужно открыть окно терминала.это просто ssh'd in, и это работает для меня.Есть ли причина, по которой вы не можете / не хотите открывать терминал?В противном случае это кажется самым быстрым и самым надежным решением для меня.

1 голос
/ 30 августа 2011

Если я правильно понял, вы напрямую обращаетесь к репозиторию git через sshfs.

Весь смысл git распространяется и может толкаться / вытягиваться, так почему бы вам просто не клонировать репо на локальный fs? Помните, что git clone работает и с файловой системой, вам не нужно клонировать из «сетевого» хранилища (ssh, http, git и т. Д.).

$ git clone /my_sshfs_mountpoint/repo

и ты готов к рок. Просто не забудьте git push поддержать свою работу, когда закончите.

...