Использование git по sshfs слишком медленно
Я использую git поверх sshfs (в Mac OS X 10,5, 10.7), но это слишком медленно.
Каждый раз, когда я вошел в систему на удаленном сервере, используйте команду git.
Я пробовал этот пост, http://kerneltrap.org/mailarchive/git/2008/10/23/3768494, однако он не работает.
Кто-нибудь знает хорошие идеи?
Ответы
Ответ 1
Вы можете выбрать другую файловую систему. SSHFS - это в основном инструмент удобства. MacOS поддерживает монтирование NFS, например, и это быстро.
Еще один способ - использовать rsync или unison (инструмент "двухсторонний rsync" ). Они действительно выполняют быструю синхронизацию между удаленной и локальной файловой системой. В сочетании с некоторыми быстрыми псевдонимами для компоновки/запуска удаленно, это хороший способ обхода.
Другим способом было бы дистанционное управление средой разработки над VNC/X11. Это делает IDE несколько более вялым, но код не нужно синхронизировать.
Комбинация вышеперечисленного состоит в том, чтобы сделать клон виртуальной машины на удаленном сервере, запустить его в вашем локальном поле и обмениваться папками через виртуальную машину или локальную NFS между ними.
Вы также можете настроить sshfs. Есть несколько вариантов настройки настройки, и вы также можете отключить шифрование. Это дает примерно 2-кратное ускорение в целом, поэтому не ожидайте чудес.
Будучи в той же обуви, что и плакат, я искал решения в течение многих лет, но, не выполнив этого, я несчастливо поселился с тонко настроенными sshfs в сочетании со случайными rsyncs и терпением.
Ответ 2
Я знаю, что это очень старый, но я ежедневно сталкиваюсь с этой проблемой. У меня очень сложная среда, которая была бы практически невозможной/продолжительной для воссоздания локально. У нас есть все, и мы работаем с API-интерфейсами сторонних API cPanel и т.д.
Единственное решение, которое работает для меня, - это монтировать и работать с файлами локально поверх sshfs, но когда это время до git, у меня есть окно терминала, которое просто ssh'd, и это работает для меня. Есть ли причина, по которой вы не можете/не хотите, чтобы терминал был открыт? В противном случае это кажется самым быстрым решением и самым надежным для меня.
Ответ 3
Если я правильно понял, вы напрямую обращаетесь к репозиторию git через sshfs.
Вся суть git распространяется и может быть нажата/вытащить, так почему бы вам просто не клонировать репо на локальные fs? Помните, что клон git работает также из файловой системы, вам не нужно клонировать из репозитория "networked" (ssh, http, git и т.д.).
$ git clone /my_sshfs_mountpoint/repo
и вы готовы качаться. Просто запомните git push
назад свою работу, когда закончите.