2009-02-11 3 views
30

У меня нет абсолютно никакого понятия об управлении версиями. Только это может быть очень полезно во многих отношениях.Как начать работу с контролем версий и PHP

Я нашел несколько связанных вопросов, но никто из них не начинается с абсолютного начала.

Я единственный разработчик в своей работе с использованием Mac OS X и традиционно использовал FTP.

Может ли кто-нибудь помочь мне с контролем версий в отношении проектов PHP (это имеет значение)?

+0

Какая рабочая среда у вас есть? Тип используемого исходного кода зависит от вашей среды. – Simurr

+1

@alex, вы можете быть заинтересованы в моем ответе на http://stackoverflow.com/questions/250984/do-i-really-need-version-control/251121#251121 –

ответ

67

Да, попробовать его, это стоит.И язык, который вы используете, не имеет значения. Он отлично работает с PHP для меня, и он будет для вас тоже.

Преимущества

Если вы являетесь единственным разработчиком, это действительно легче идти без контроля версий. Тем не менее, вы найдете большие преимущества для использования системы контроля версий. Некоторые из самых простых преимуществ будет:

  1. Никогда не интересно, что это ваша последняя версия, как только вы вернуться к проекту (более не myproject090201-archive2-final6.zip)
  2. Никогда не бойся начать некоторые основные рефакторинга , если вы допустили ошибку в своем файле, вы просто откатитесь до последней версии.
  3. Если что-то перестает работать в вашем проекте, и вы чувствуете, что это сработало в какой-то момент, вы можете легко проверить некоторые из предыдущих версий и посмотрите разницу между рабочей версией и нерабочей версией, чтобы найти то, что нарушило код
  4. Дополнительная резервная копия вашего куба rrent-проект, и даже лучше, если он не на вашей машине ... конечно, дополнительные баллы для резервного копирования вашей системы контроля версий, мы никогда не слишком осторожны, вы не хотите перезапускать этот месячный проект ты?

Выбор

Как некоторые уже говорил, у вас есть несколько вариантов для вашей системы контроля версий, и я предполагаю, что вы хотите бесплатно один, чтобы начать. Есть несколько отличных коммерческих продуктов, но свободным нечего стыдиться. Так вот некоторые очень популярные системы управления бесплатной версии:

Централизованная против распределены

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

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

Тенденция определенно идет в направлении распределенной системы, но по мере того, как эти системы являются более свежими, они все еще не имеют инструментов графического интерфейса, которые делают его действительно удобным для пользователя, и иногда вы можете найти документацию немного легче. С другой стороны, все это, похоже, быстро исправляется.

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

Инструменты

Если вам абсолютно необходим инструмент с графическим интерфейсом для вашего Mac, я бы тогда выбрать SVN получить инициирована к источнику контроля. Есть две очень хорошие продукты для этого (коммерческих):

И несколько other ones (например, свободный svnX), которые становятся немного старый и недружелюбно Мое мнение, но в любом случае это может быть интересно.

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

Стартовые точки

В любом случае, вы хотите, чтобы некоторые отправные точки.

  • Для Subversion, ваша первая остановка должна быть их бесплатно книги, Version Control with Subversion. Возьмите несколько часов своего дня, чтобы пройти через главы, это будет время, потраченное на время. Главы введения хорошо читаются, даже если вы не хотите использовать Subversion специально, потому что это поможет вам лучше понять управление версиями.

  • Для распределенной системы, я получал удовольствие от Mercurial, но это легко воспламеняющийся объект, поэтому я позволю вам сделать свой выбор там. Но если вы в конечном итоге посмотрите на Mercurial, посмотрите на this blog post, это был отличный стартер для меня, который заработает вас в течение нескольких минут, если вы уже немного привыкли к управлению версиями в целом , В любом случае, оставьте на Mercurial's homepage и посмотрите раздел «Начало работы» на странице.

Заключение

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

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

Удачи вам!

5

Тип кода не имеет значения.

Одна система управления с открытым исходным кодом и популярной версией Subversion, и есть очень хороший обзор/руководство пользователя here.

2

Кроме того, вы можете получить Eclipse PDT (плагин PHP) и использовать Subclibse в среде IDE.

+0

Что должно упростить интеграцию с использованием подрывной деятельности в ваш рабочий процесс. – VirtuosiMedia

0

Заканчивать другие варианты - Miscrosoft-х TFS (это используется не только для системы управления версиями, но и для отслеживания дефектов, управления проектами и т.д. и т.п.), Bazaar, Git являются популярными.

-1

Alex, Контроль версий (и некоторые из нас будут обманывать меня для этого утверждения) - это не тривиальный вопрос, и даже очень опытные разработчики попадают в неприятности. Наиболее частыми причинами разочарования являются ограничения определенного продукта (Visual Source Safe является известным), а члены команды не выполняют один и тот же процесс или вообще не понимают этот процесс. Это не должно мешать вам взглянуть на инструмент управления исходным кодом - дело противоположное. Вы можете эффективно использовать инструмент, только если вы понимаете, что он делает и почему.

Я бы порекомендовал вам ознакомиться с CVS. Он существует уже много лет, он относительно прост в установке, настройке и использовании, и, хотя для большинства платформ доступны клиенты GUI, изучение его из командной строки может обеспечить лучший доступ к его функциям.

+0

-1 CVS широко считается устаревшим в пользу Subversion, который предлагает надмножество функций, лучше поддерживается системой OP и устраняет почти все вопиющие проблемы, с которыми сталкивается CVS. –

+0

Что предлагает CVS для SVN? Я уже слышал этот аргумент и еще не слышал убедительных аргументов в пользу CVS. –

+0

Это просто, потому что он такой старый. Тем не менее, современные системы пакетов делают почти все остальное столь же простым, возможно, более приемлемым. – staticsan

3

Я использую Git для разработки PHP.

Это быстрый, гибкий, надежный, чистый (CVS и SVN создают множество скрытых папок, которые мне лично не нравятся).

Его распределенная природа позволяет работать так, как вы хотите (с центральным хранилищем или без него).

Вы можете узнать больше об этом здесь:

1

Если вы на Mac, сделайте себе одолжение и забрать версии, красиво оформленный (и высокофункциональный) GUI Subversion. Вы бы лучше всего изучили терминологию и поняли, как Subversion работает с графическим интерфейсом, прежде чем переходить к командной строке. После того, как вы сможете совершать ревизии своего кода и запускать обновления, чтобы получить работу других людей, вернитесь назад и прочитайте красную книгу (это действительно лучший способ изучить Subversion in-and-out).

http://versionsapp.com/

2

Версии хорошо работают для другого разработчика, с которым я работаю. Кроме того, если вы используете Textmate, пакет SVN обеспечивает практически все, что вам нужно для большинства частей рабочего процесса Subversion. Мне это и вправду нравится.

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

1

использование базар http://bazaar-vcs.org/

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

Смежные вопросы