Способ проверки файлов с несколькими разработчиками - PullRequest
2 голосов
/ 23 марта 2010

Я веб-разработчик, работающий с 2-3 людьми, включая меня. Наши текущие настройки очень упрощены. Мы стараемся сообщить друг другу, когда работаем над конкретным файлом. Мы используем FTP для редактирования наших файлов.

Недавно мы столкнулись с проблемой, когда 2 человека случайно редактировали один файл или работали над локальным файлом, а затем загружали его, когда другой человек делал то же самое.

Из того, что я прочитал, мне нужна какая-то система управления. Я слышал о подрывной деятельности и ртути. Кажется, что эти системы могут быть не тем, что мне нужно, потому что они просто дают мне разные версии файлов. Я не знаю, решает ли это проблему двух человек, работающих над файлом и перезаписывающих работу друг друга.

Каковы ваши предложения по решению моей проблемы?

Редактировать 1: Я должен упомянуть, что хотел бы интегрироваться с Netbeans, у которого, кажется, есть плагины для Subversion.

Редактировать 2: это возможно сделать с обычным веб-хостингом? (с помощью облачного хостинга rackspace). У меня есть сервер, настроенный дома, который, я думаю, мог бы работать как репозиторий. (работает под управлением windows server 2007)

Ответы [ 7 ]

13 голосов
/ 23 марта 2010

Система контроля версий (VCS) - это именно то, что вам нужно. Разработчики отрабатывают файлы в системе контроля версий, и когда изменение возвращается в систему, если кто-то другой также внес изменения в тот же файл, система объединит 2 набора изменений (иногда пользователь будет необходим) вместо того, чтобы просто потерять предыдущий набор изменений.

Периодически сайт можно обновлять из хранилища VCS.

С командой, состоящей всего из 3-х или около того разработчиков, практически любая VCS, которую вы, возможно, должны работать просто отлично. Я слышал хорошие новости о Mercurial (хотя я еще не использовал его - я планирую опробовать его в этом месяце), и Subversion действительно очень хороша.

Но я думаю, что все, что вы выбрали, будет серьезным улучшением по сравнению с тем, чтобы не использовать ничего.

2 голосов
/ 23 марта 2010

Да, вам определенно нужно получить какой-то контроль над источником.Помимо координации изменений между несколькими разработчиками, вы сможете вернуться к предыдущей версии вашего программного обеспечения.Вы обнаружите, что это позволяет вам рисковать идеями, зная, что вы всегда можете просто сбросить его и вернуться к предыдущей версии.Это также может быть неоценимо при отслеживании отчетов об ошибках, когда вы переходите к разработке следующей версии.Этот список можно продолжать и продолжать, но, как только вы поймете ценность управления исходным кодом, вы никогда не захотите пройтись по канату, когда кодирование без управления исходным кодом.

Subversion очень популярно, но я бы рекомендовал вамперепрыгнуть на http://hginit.com/ и прочитать введение Джоэла Споельского в Mercurial.Скажем так, его не сразу продали, но, прочитав учебник, я вижу, что это, вероятно, лучший способ справиться с ситуацией, особенно когда люди распространяются.

2 голосов
/ 23 марта 2010

Вы можете использовать Subversion, он действует как центральное хранилище для всех ваших файлов, а также обрабатывает конфликты файлов.

Если два участника работают над одним файлом и одновременно обновляют файл в хранилище Subversion, они увидят ошибку, уведомив их о конфликте, а также позволят вам сравнить различия между этими двумя файлами.

1 голос
/ 23 марта 2010

Да, вам нужна система контроля версий, но не VCS. Я думаю, что вам нужна распределенная система контроля версий. В моей компании мы долгое время использовали SVN (небольшая команда разработчиков, такая же как и вы), но мы никогда не были слишком довольны этим. Несколько месяцев назад мы перенесли каждый репозиторий в GIT , а все управление проектом и хостинг репозитория были перенесены в codebase . Мы очень довольны миграцией из-за управления хранилищем, и все намного проще и понятнее.

Проверьте бесплатную Progit Book , чтобы узнать о Git .

.
1 голос
/ 23 марта 2010

Другая проблема, которую это решает, - это непреднамеренное внесение неправильных правок в файл и желание вернуться к предыдущей версии.Subversion будет работать с несколькими файлами как с набором изменений (набор изменений, составляющих версию кода).

Я был в подобной ситуации (.zip-файлы на сетевом ресурсе с пакетным файлом, который "блокирует""почтовый файл).Не весело и определенно подвержено всевозможным ошибкам.

Найдите здесь приличную бесплатную книгу по Subversion: http://svnbook.red -bean.com /

1 голос
/ 23 марта 2010

Subversion хорошо подходит для распределенной разработки.

Каждый разработчик работает над своей копией и проверяет изменения. Все изменения обратимы.

Держитесь подальше от систем контроля версий, которые работают в основном с блокировкой файлов, после чего они "проверяются". Режим по умолчанию для SVN работает без блокировок, объединяет изменения и обрабатывает конфликты только при их возникновении.

Subversion является наиболее широко поддерживаемым, Linux поддерживает его "из коробки" и TortoiseSVN (http://svn.tigris.org) в качестве плагина Windows Explorer.

1 голос
/ 23 марта 2010

Да, это решает вашу проблему. Взгляните на svn book для более подробной информации.

Все системы контроля версий должны решить ту же фундаментальную проблему: как система позволит пользователям делиться информацией, но мешать им от случайного наступления на каждого ноги другого? Это слишком легко для пользователи случайно перезаписать каждый другие изменения в хранилище.

...