pfg21,
насчет синхронизаторов - а как они ведут себя в случае обрыва связи (если файл не удалось синхроинизировать - при восстановлении они повторят попытку? с конфликтами умеют работать?)
насчет sshfs - я щас так и работаю, но такой вариант позволяет на этом конце только простой редактор иметь, а не полноценный ИДЕ, который регулярно тотально шерстит всю кодовую базу и строит индексы (т.к. скорость чтения не позволяет)
Дмитрий, ну не, vim - не считово )) я умные автокомплиты хочу, и анализ очепяток, как минимум ))
без этого всего - я и в NPP могу (особенно, когда сервак как диск подключен - удобно для небольших переделок). И все бы прекрасно, даже подсветка есть и автокомплыты какие-никакие - но хочется навигации по коду нормальной, и чтобы автокоплитило с умом, ну и очепятки подсвечивало...
да, пробовал в дропбоксе и на гуглдиске в свое время держать исходники... но пересаживание на другую машину - это тоже вечное ожидание, пока все прогрузится. А учитывая, что мне оно надо скорее для хотфиксов, чем для полноценной разработки (т.е. часто, но по 5..10 минут за раз) - то хочется избавиться от долгой загрузки проекта (возможно, даже ценой снижения общей скорости работы ИДЕ в процессе).
плюс, мне не понравилось очень задумчивая отправка изменений при сохранении... ну т.е. я сделал фикс, сохранил - а сайт обновить можно только через секунд 10..15, если повезет...
вот, как мне кажется, самый главный вопрос, который достоин подробного освещения.
а не длиннющие списки, где описывается 100500 подвидов одного семейства, как самостоятельные ОС, которыми "ентот ваш ынтырнет" просто завален -)))
Dmitry MiksIr, так, эту мысль понял, спасибо..
а более лайтового варианта паретащить из ориджина измененную историю - нет?
ну т.е., пуш--форсе - есть, а пулл--форсе - какбы нет?
UPD: reset --hard origin/myrebasedbranch - оно?
(или таким образом 100500 коммитов останутся невидимым мусором?)
такс, поигрался с ребейсом и сквошем... все круто, НО! опять же не решает вопроса синхронизации на разных машинах...
если я схлопнул свои 100500 коммитов на ноуте (rebase -i, squash) - то при пересадке на рабочую машину ПУЛЛ начинает мержить "схлопнутый" ориджин с "несхлопнутой" локальной версией, в итоге - имеем 100501 коммит (то, что было, плюс один - на слияние)... ну потом еще 100502й появится, когда я снова домой приду...
merge --squash - вроде позволяет оставить мастер чистым, и держать 100500 в дев-ветке, НО при следующем таком же слиянии (мердж--сквош) плодит кучу конфликтов (что логично, мердж-сквош, по сути, оставляет две ветки неслитыми)... либо надо при слиянии заодно делтаь "обратное слияние" - мастер в дев, чтобы синхронизировать ветки...
короче, я начинаю сам себя запутывать...
подскажите уже, как НЕ тащить все 100500 микрокоммитов в мастер? ))
Dmitry MiksIr, про разбитие - ответил выше (изначально я ищу способ синхронизироваться без привязки к завершенности задачи, какой бы мелкой она ни была... я не фуллтайм кодер, меня обстоятельста постоянно на полуслове сдергивают с места, а делать работу надо, хоть по строчке в день, причем на полустрочке меняя рабочую машину ))...
гора вип-коммитов... сильно мутит от мысли, особенно учитывая количество пересадок внутри таска... со сквошем (ребейсом) потренировался сегодня.... да, несложно, но много бардака получается, который теперь надо постоянно разгребать...
вобщем, охладел к подходу... либо я как-то неверно понимаю идею, либо открыт для новых идей...
UPD Хотя, иметь гит в локальной копии (а не только в удаленной) оказалось довольно приятно, в плане навигации по истории, в чатности - блейма... приятно, но пока гемора больше, чем пользы :(
Saboteur, исходные условия задачи как раз не дают реализовать предложенный подход одновременно с корректным разбиением на коммиты.
повторюсь: я ищу способ синхронизироваться между машинами в произвольный момент времени, независимо от того, в каком состоянии таск.. хоть на полуслове...
вы предлагаете коммитить и пушить при каждой пересадке (п.1 вашего комментария)...
но при этом, настаиваете на атомарности и завершенности изменений внутри коммита...
пока звучит как "не надо тебе пересаживаться за другую машину, пока таск не доделал" )))
Dmitry MiksIr, посмотрел, как это работает на практике, и смутило, что я вынужден плодить WIP-коммиты каждый раз при смене машины... аменд - не спасает (т.к. предыдущий коммит уже на ремоуте, и аменд приводит к вынужденному слиянию и ребейсу, что еще веселее).
как бы вы предложили с этим быть?
- оставить 100500 wip-коммитов и тащить их все в мастер? - не нравится (т.к. потом гит-логом пользоваться невозможно, т.к. коммиты перестают быть логичными);
- сквошить випы каждый раз при вливании в мастер? - ну, проще, но всеравно лишний гемор, особенно при быстрой выкатке микро-изменений...
- третий вариант? -)
Сергей Соколов и Saboteur - вас тоже прошу совета, т.к. вы тоже за этот подход агитируете, значит, наверняка, в теме -))
я - могу, это факт -)))
ну, мне кажется, на крайняк можно руководствоваться принципом "удаленная копия - она самая актуальная" (что логично, вобщем-то, т.к. вся отладка и тесты - на ней прогоняются), и любые конфликты решать с плеча отказом от локальных изменений неизвестного происхождения -)
циклы - пока не думал подробно, на уровне подозрений... вроде нет, но два механизма синхронизации на одном и том же объекте синхронизации - звучит подозрительно -))
про конфликты - не совсем понял... можно же ресет-хардом грохнуть перед пуллом... или я ситуацию не так понял?
Dmitry MiksIr, один из них - ноут... крышку захлопнул - и алес...
а вот вопрос - Нетбинс себя нормально ведет, если одновременно и "sync on save" и локальная копия под гитом? вечных циклов синхронизации не возникает? (не пробовал пока, завтра до машины доберусь - сам проверю, но вдруг ответ известен)
кстати, насчет 1 варианта - а НБ нормально себя ведёт, если одновременно и git и "sync-on-save"? (пока не за своим компом, потестить завтра тока смогу)
1. видимо, так и придется в итоге сделать... избегал этого варианта. т.к. привык к тому, что все сохраняется на сервак автоматом, и я не забуду запушить изменения перед уходом (плюс, все эти шалости со stash тоже вошли в привычку)... но вы уже третий, кто к этому меня склоняет...
2. кстати, да, про этот вариант забыл... но я забыл написать, что время от времени работаю с ноута с херовым инетом, поэтому вряд ли подойдет...
в общем, пока лидирует вариант "не забывать коммитить/пушить"... видимо, придется менять привычки -))
спасибо, прокурю этот варианнт тоже.