В настоящее время кодовая база для проекта, над которым я работаю, находится на удаленном сервере компании. и так должно оставаться. также удаленный git
репозиторий не может быть обнародован.
Моя текущая настройка:
- Подключиться к
VPN
- запустить,
sshfs
чтобы смонтировать копию кода - начать работать над кодом
- когда я закончу:
ssh
на удаленный сервер и запускаюgit
там команды
Проблема с этим заключается в том, что время от времени VPN падает, поэтому мой sshfs
mounth ломается, и моя IDE зависает. я вручную подключаю VPN, затем sshfs
снова запускаю и возвращаюсь к работе.
Но это становится раздражающим, поскольку VPN
падения чаще.
Поэтому мне интересно, есть ли какие-то настройки для sshfs
какого-то кеша, которые позволили бы мне работать и синхронизировать изменения только при возврате VPN.
Это может не иметь смысла, поскольку, если удаленный драйвер недоступен, нечего писать. Так что насчет другой установки, которая использует какую- watch
то вещь и использует rsync
для перемещения изменений в двух направлениях (или когда я сохраняю файл, или когда я делаю git pull
)
Я не могу просто сделать git clone, потому что я не могу воспроизвести всю среду, чтобы работать «локально» (БД и прочее)
код должен быть на их серверах, чтобы я мог проверить / увидеть свою работу, я должен получить доступ к URL, то есть к моей песочнице. Я не могу толкать меня каждый раз, когда хочу увидеть свои изменения.
git
вменяемый способ? Клонируйте репо и работайте удаленно.Ответы:
Zecrazytux прав - почему вы не используете
git
способ, которым вы должны: клонировать репозиторий, работать над ним удаленно и передавать изменения обратно мастеру?Я не вижу причин, по которым вы «не можете» выполнять
git push
свою работу каждый раз, когда хотите увидеть свои изменения (в идеале - переходить в ветку разработки, которая затем объединяется, когда она тестируется и доказывает свою работоспособность) - многие люди делают это. Вы даже можете использоватьpost-receive
ловушку для развертывания ваших изменений в среде, если вы хотите автоматизировать эту часть вещей.(Вы, очевидно , не ХОТИТЕ сделать это , но вы не назвали никакой причины, поэтому я отвергаю предпосылку вашей проблемы.)
Честно говоря, вы ничего не можете сделать, чтобы ненадежное сетевое соединение было «допустимым» (ОСОБЕННО, если вы пытаетесь смонтировать сетевые файловые системы) - вы можете работать удаленно, как описано выше, подключиться к системе по SSH и работать непосредственно с ней (
screen
это ваше друг здесь), или исследуйте и исправьте основную нестабильность сети.Попытка сделать что-то еще, чтобы «сделать это терпимым» - бесполезное упражнение (подумайте «коктейльный зонт в урагане»).
источник
we have redmine and each commit should have a specific format
<- Таким образом, когда вы объединяете формат ветки разработки, коммит для слияния так, как его ожидает redmine.git
так гибок :-)screen
когда соединение умирает»Я использую параметры sshfs, чтобы минимизировать задержку:
Он имеет флаг переподключения, все обходные пути sshfs, используя авто кеш и arcfour chiper.
Вы можете прочитать об этих опциях в руководстве sshfs, я нашел эти самые быстрые опции sshfs по крайней мере в моей настройке.
ETA: Подробнее о производительности sshfs читайте здесь: производительность sshfs
источник