@Toast Capistrano, Mina и т.д. - это все инструменты для автоматизации деплоя, а git - это система контроля версий. Так что лучше отделить котлет от мух, области применения все же разные.
Capistrano-подобные инструменты дают DSL (язык) для описания конфига, а также предлагают некоторый workflow деплоя по умолчанию. Исторически наибольшее распространение эти инструменты получили в сообществе Ruby on Rails разработчиков (хотя могу врать, конечно), где их использование дает деплой "из коробки", буквально. С плавным перезапуском сервера, контролем и версионированием ассетов, миграцией данных.
Все это, конечно, можно сделать и на гит-хуках, но с болью и слезами, и близко не имея всей гибкости и изящности более узко заточенных решений.
И, конечно, от гита вам отказываться не придется. И мина, и капистрано в первую очередь идут от идеи о том, что ваш код лежит в репозитории под контролем git.
Напрямую — никаких прикладных задач с помощью матана я не решал, ни разу (хотя, может быть просто не помню). Но вместе с тем, ясность и структурированность мысли были сформированы именно им, по моим личным ощущениям.
Возможно, Вам нужно посмотреть в сторону Git submodule? Т.е. вынести ядро в отдельный репозиторий и привязать остальные проекты к нему с помощью сабмодулей. Таким образом, после обновления ядра, Вам нужно будет всего-лишь запустить деплой на все зависящие от ядра сервера.
Egorinsk — Mina, если Вы этого не заметили, сама по себе генерирует баш скрипт и транслируется из Ruby напрямую в bash. Это очень легкий инструмент и отдельного внимания заслуживает DSL с помощью которого и генерируется конечный баш-скрипт. По поводу «сложной системы», «другого человека» и «неизвестной квалификации» — предлагаю периодически думать.
По поводу тестов — я привел пример того, как запускать тесты. Автор просил именно этого совета. И конечно юнит-тесты не панацея.
Автор, уточните пожалуйста, с какой целью Вы хотите выдергивать отдельные папки из гита? Сразу скажу, что это невозможно :)
В netbeans довольно неплохая поддержка git, но практика показала: для того, чтобы гит действительно приносил команде пользу (а он это умеет, поверьте на слово), необходимо:
1. Чтобы каждый из членов команды понимал, что же там происходит — т.е. умел пользоваться гитом из консоли.
2. Чтобы в команде была принята какая-то определенная модель работы с ним.
На стадии «как лучше организовать работу с git?» я настоятельно рекомендую пройти курс(-ы, их там два) от Codeschool каждому члену команды, а также изучить вот этот список.
Вы немного не правильно трактуете идеологию VCS, и в частности Git. Основная идея Git как раз в возможности беспроблемно работать над локальными копиями проекта, и затем «сливать» их воедино, синхронизируя состояние веток между собой. Если во время синхронизации происходят конфликты, то их разрешает тот, кто еще не отправил коммит на сервер.
Прошу прощения, воспринял SMB как красную тряпку и решил, что Вы сидите на винде. Тогда Github for Mac, терминал и Git Real от Codeschool позволят быстро настроить всю команду на рабочий лад.
Прошу прощения, под реализацией логики я имел ввиду, что от wordforms мы при этом отказываемся. Т.е. реализовываем синонимизацию на уровне построения длинного запроса и распихиваем (гипотетически, потому что я не знаю, возможно ли это) веса по кускам запроса.
Если я смогу так сделать, я буду счастливым человеком :)
Capistrano-подобные инструменты дают DSL (язык) для описания конфига, а также предлагают некоторый workflow деплоя по умолчанию. Исторически наибольшее распространение эти инструменты получили в сообществе Ruby on Rails разработчиков (хотя могу врать, конечно), где их использование дает деплой "из коробки", буквально. С плавным перезапуском сервера, контролем и версионированием ассетов, миграцией данных.
Все это, конечно, можно сделать и на гит-хуках, но с болью и слезами, и близко не имея всей гибкости и изящности более узко заточенных решений.
И, конечно, от гита вам отказываться не придется. И мина, и капистрано в первую очередь идут от идеи о том, что ваш код лежит в репозитории под контролем git.
Попробуйте, это просто.