Лучший контроль версий для веб-приложения одного человека?

Я только что научился делать что-то и хочу начать использовать какой-то контроль над версиями для веб-приложения.

Что наиболее подходит для развертывания веб-приложения python или php самостоятельно? Я использую linux и имею сервер linux.

Спасибо!

Ответы

Ответ 1

SVN, , но вам нужно легко развернуть ваш webapp с SVN.

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

Общий принцип:

  • Настройте Apache на своем сервере разработки, чтобы он загружал ваши проверенные рабочие копии в виде отдельных поддоменов. Используя это, вы можете просто сделать проверку своего проекта, и он будет автоматически запускаться и запускаться. Не нужно прикасаться к конфигурации Apache. Вам понадобится подстановочный знак DNS, чтобы все поддомены dev.example.org переходили на ваш сервер разработки.

Единственная проблема с использованием указанной выше конфигурации Apache локально - это подстановочный шаблон DNS. Если вашему рабочему столу назначено имя хоста вашим сетевым DNS-сервером, и вы можете установить подстановочный шаблон там, вам придется обойтись с вашим адресом localhost. Вы можете установить dnsmasq для работы в качестве локального кэширующего DNS-сервера и поместить подстановочный шаблон на свой собственный компьютер

  • Используйте dnsmasq, чтобы вы могли добиться такого же эффекта на своей собственной машине разработки. Таким образом, вы можете создавать свои веб-приложения локально, и вам не понадобится центральный сервер разработки. В моих примерах я предполагаю, что вы используете подрывную функцию для вашего контроля версий, но она работает практически одинаково с другими пакетами управления версиями, такими как git или bazaar.

Примечание: (Юмор)
Этот другой вопрос о Subversion позволил мне указать на эту статью о публикация ее (с контролем источника ) данных в производство, причем в нем, вероятно, самая уродливая диаграмма, которую я когда-либо видел по этой теме; -)

diagram

Ответ 2

Если бы я не столкнулся с git, я бы, несомненно, пошел с SVN. Сказав это, я рекомендовал бы git.

Ответ 3

В настоящее время я бы, конечно, пошел с распределенной системой контроля версий. Настройка выполняется быстрее, так как вам не нужно настраивать сервер управления версиями и все, что вам обычно нужно сделать, это инициализировать определенный каталог в вашем окне разработки для управления версиями, и вам хорошо идти. Они также кажутся, как идти в эти дни. Если бы это было в 2001 году, я бы рекомендовал централизованную систему, такую ​​как Subversion. Но в 2008 году все перемещаются в распределенные системы и пользовательские интерфейсы, а поддерживающие инструменты имеют тенденцию улучшаться.

Вот несколько советов для вас:

  • Darcs: легко учиться и имеет все функции, которые вам обычно нужны
  • Mercurial
  • Git: Мощный. Может потребоваться некоторое время, чтобы понять, но быстро развивается.

Все три из них должны быть легко доступны в вашей ОС на базе Linux с помощью обычных решений по управлению пакетами.

Ответ 4

SVN отлично.

Ответ 5

В наше время шумиха вокруг DVCS.

Я предпочитаю Bazaar.

Из-за этого имя, поддержка, набор функций, и он хорошо работает и на моей машине $$.

Ответ 6

Я использую unuddle.com, и мне это нравится. Это бесплатно для веб-приложения для одного человека.

Ответ 7

Ответ действительно зависит от вашего мышления. У меня лично возникли проблемы с переключением на subversion из SourceSafe. Если вы пришли из магазина Microsoft, я бы предложил использовать SourceGear Vault, бесплатно для <= 2 пользователей. Если вы пришли из области не microsoft, то использование subversion будет предпочтительным. Также, пожалуйста, рассмотрите git, если вы работаете над linux. HTH, клапан.

Ответ 8

Лично я использую monotone, изучение DVCS - это, безусловно, путь вперед.

Ответ 9

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

Учитывая, что я бы выбрал любую бесплатную систему, поддерживающую вашу среду разработки. Я вижу Subversion и Git, и оба являются прекрасным выбором.

Ответ 10

SVN был моим первым выбором. Если мне нужно сделать второй выбор, я бы пошел на CVS.

Ответ 11

Одна из самых популярных моделей сегодня - Subversion. Он обычно легко настраивается и настраивается и способен обрабатывать несколько платформ.

Ответ 12

SVN. Если вам не нужен одновременный доступ (это ваш случай), он ОЧЕНЬ прост в настройке, поскольку сервер не требуется вообще. Определенно ваше оружие выбора.

Ответ 13

Я полностью согласен с SVN. Командная строка SVN тоже довольно проста.

Ответ 14

В то время как мне нравится svn много, я нашел mercurial удобным для того, чтобы весь репозиторий был локально. (то же самое для git, но его интерфейс немного менее отполирован, на мой взгляд.)

Ответ 15

Я когда-то использовал Perforce и был впечатлен им. Там версии GUI и командной строки, и он поддерживает Windows, Linux, Mac и Unix для сервера и клиента. Он интегрируется с Eclipse и имеет API для написания собственных клиентских приложений (C/С++, Ruby, Perl, Python). Он поддерживает только двух пользователей и пять рабочих областей, прежде чем вам нужно покупать лицензии (хотя это входит в сферу применения этого вопроса).

Ответ 16

Я не могу ответить на заданный вопрос, потому что я не разрабатываю на сервере Linux.

Но, возможно, этот опыт имеет аналог в мире Linux.

Я использую локальный локальный сервер IIS (фактически на старом ноутбуке, который больше не путешествует, но работает как маленький сервер). У меня также установлен VSS на этом сервере. Существует интеграция между серверами IIS, расширениями FrontPage на этом сервере и VSS.

Результат заключается в том, что я могу использовать FrontPage для создания и редактирования моего сайта и создания образа разработки, который всегда резервируется в VSS, и я могу проверить, проверить и сделать все это из FrontPage.

Теперь, как я публикую, я использую возможности совместного использования VSS, поэтому у меня есть образ развертывания, который разделяет проект, который на самом деле является веб-сайтом IIS. У меня есть каталог развертывания-образа, в который я могу перенести последний зарегистрированный материал (материал, который не изменился, не обновляется). Затем я развертываю образ развертывания на общедоступный веб-сайт с использованием FTP (опять же, только для передачи новых и обновленных файлов).

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

Если я не использовал инструмент, интегрированный с веб-сервером, а также элемент управления на сервере, я мог бы сделать что-то подобное, проверив материал VSS в локальном каталоге и из него, а затем нажав обновленный проект VSS к иерархии каталогов веб-страниц сервера IIS. Рабочий процесс немного более неуклюжий. В этом случае я не стал бы редактировать страницы непосредственно на веб-сервере разработки, если бы я не мог блокировать страницы регистрации как доступные для чтения или что-то в этом роде.

Означает ли это что-нибудь, что может быть привлекательным в случае сервера Linux?

Ответ 17

Определенно Mercurial - хороший выбор, быстрый, простой в использовании, идеально подходит для работы в одиночку или с несколькими другими разработчиками, отлично размножается, обрабатывает слияния, ветки и т.д. очень просто, на основе плагинов, есть отличные инструменты там как приятные плагины IDE (особенно Netbeans и Eclipse).

Надежный, он работает так же, как вы ожидаете, что такой инструмент работает, а не как SVN (и у меня есть годы изо дня в день)...

Оба Sun, Xen и Mozilla размещают все свои репозитории на Mercurial. В настоящее время мы переходим от SVN к Mercurial после 6-месячного ежедневного теста без каких-либо сожалений.

Ответ 18

Subversion - хороший выбор. Для клиента существует TortoiseSVN (http://tortoisesvn.tigris.org/), который интегрируется с оболочкой и позволяет вам делать что-либо одним щелчком правой кнопки мыши по папке. Для интеграции с Visual Studio (я буду считать вашу среду) VisualSVN (http://www.visualsvn.com/) и AnhkSVN (http://ankhsvn.open.collab.net/). Для сервера есть установщик с одним щелчком мыши, который вы можете найти здесь (http://svn1clicksetup.tigris.org/), который быстро устанавливает настройки. VisualSVN также имеет (бесплатный) сервер, который вы можете использовать, который предоставляет ему собственный веб-доступ и безопасность (вместо использования apache) и имеет mmc-snapin для управления/создания репозиториев и пользователей.

Ответ 19

CVS - Нет, я не шучу. Не то, чтобы это лучше (это не так) или простое (это не так), но на самом деле это не имеет значения в конце дня. Важно начать работу с ЛЮБОЙ системой управления версиями, даже если это магазин с одним разработчиком, даже если это CVS.