Мне нужно работать с 4-5 программистами в довольно обычном PHP-приложении, использующем codeigniter. Мы в 5 разных местах в одном городе, и все программисты не слишком хорошо образованы, и я предполагаю, что большинство из них никогда не использовали какую-либо систему контроля версий.
Можете ли вы порекомендовать какую-то очень простую платформу для совместной работы над таким проектом? Я говорю о чем-то более сложном, чем общая папка Dropbox.
Ответы:
Вы уже знаете ответ
Контроль версий был разработан, чтобы решить эту проблему . Если ваши разработчики не хотят учиться использовать эту стандартную практику разработки, вам, возможно, придется пересмотреть ваши разработчики. Какое программное обеспечение они собираются выпускать, если они демонстрируют отвращение к принятым стандартным практикам, а также отвращение к изучению новых вещей?
Я бы посоветовал им прочитать Pro Git и создать частный репозиторий для вашей команды.
источник
... FTP
Хорошо, вот как я начал сотрудничать, подключая Notepad ++ к FTP, создавая резервные копии каждые 10 минут в переименованных папках, но если вы это сделаете, ради вашего проекта по крайней мере используйте контроль версий на сервере.
Интернет IDE
Cloud9 очень хорош и имеет параллельное редактирование, однако, это будет стоить вам иметь более 1 частного рабочего пространства для работы с вашей командой, но оно того стоит.
... попробуйте Mercurial
Если вы не нашли подходящего Git для своих коллег, попробуйте Mercurial с TortoiseHG, который является клиентом с графическим интерфейсом для Mercurial. Это займет у них две минуты для настройки и меньше, чтобы начать использовать его.
Пусть они используют графический интерфейс, им просто нужно научиться использовать 4 кнопки («тянуть», «обновить», «зафиксировать», «нажать») и изучить 2 или 3 концепции, чтобы сохранить и поделиться своей работой.
Попросите их зарегистрироваться в bitbucket . Создайте репозиторий для вашего проекта, и пусть они раскрутят его, чтобы они могли работать в своем собственном зеркале репозитория и таким образом им не приходилось иметь дело со слиянием. Вы выполняете интеграцию и просто просите их выдавать запросы на извлечение из своей вилки Bitbucket после их отправки. Пусть они извлекают только из вашего хранилища (того, из которого они разветвлены).
Изучите Mercurial, чтобы решить все связанные с этим проблемы, это хорошее начало: http://hginit.com/
Попробуйте оба
Вы можете использовать Mercurial из Cloud9, насколько это круто?
Хватит предполагать
Если вы один из тех, кто хочет использовать правильные инструменты, вы уже находитесь на лидирующей позиции. Не думайте, что они не образованные, и поговорите с ними о том, как все происходит в реальном мире.
Будьте в восторге от этого не покровительствовать.
Это действительно не становится легче, чем это, если вы хотите сделать все правильно. Если они явно не хотят использовать контроль версий, то у вас может быть другая более серьезная проблема.
источник
Я рекомендую вашим разработчикам http://try.github.com
Но если контроль версий невозможен, вы можете придерживаться чего-то подходящего для самого начинающего / младшего, который является базовым (и архаичным).
Установкой для веб-папки вашего сервера разработки также может быть svn checkout (или git), и вы можете настроить crontab на автоматическую фиксацию ревизий время от времени автоматически, или вы можете просто установить резервную копию или, возможно, rsync для папки в какое-то другое место резервного копирования, когда они перезаписывают файлы друг друга (как это будет происходить), и вам нужно дать Бобу его изменения, которые он потерял. В конце концов, после нескольких месяцев работы с системой, они будут просить вас предоставить им доступ к SVN / GIT.
источник
Вам необходимо исправить это предположение и выяснить, имеют ли они какие-либо знания или опыт работы с какими-либо системами контроля версий. Нет смысла предполагать, когда они могут иметь знания.
Как уже говорили другие ответы, для этого предназначен контроль версий. Git, вероятно, лучший путь вперед, и Learn Git - действительно хорошая отправная точка
источник
Ну, нет выхода, кроме как использовать контроль версий .
Dropbox действительно имеет своего рода контроль версий , но я считаю, что если два человека сохранят файл, более новая версия просто заменит старую версию, что нежелательно для контроля версий во время разработки программного обеспечения.
Svn - это простая в освоении (по крайней мере, проще, чем git) система контроля версий, и вы можете найти различные публичные репозитории, размещенные в Интернете, но я бы не рекомендовал ее для географически распределенных команд.
Таким образом, путь для распределенных команд - это git. Если ваш источник общедоступный ИЛИ покупка частного плана не является проблемой, то создайте репозиторий на github , в противном случае настройте локальный репозиторий git.
Может быть, вы можете найти графический интерфейс для git, который может помочь этим разработчикам начать осваивать систему контроля версий концептуально. Для Windows это TortoiseGIT . Я не использовал ни одного клиента git gui для Linux или MAC, поэтому я не буду рекомендовать его здесь.
источник
Вы на правильном пути
Это
version controlling
путь! Это будет хорошо работать для совместного использования кода и поможет с интеграцией. Кроме того, частые проверки являются очень важной дисциплиной, которую должна практиковать вся команда.Однако, выбор правильного контроля версий для вашего проекта очень важен.
Недавно появилось приятное сообщение и ответы, которые помогут вам решить: каков хороший игрушечный пример для обучения управлению версиями?
источник