it-roy-ru.com

Subversion, GitHub и др. Системы контроля версий/репозитории

Я разрабатываю WP как специально разработанную CMS. Один из пяти необходимых плагинов - это уже 2500 строк кода, и он еще не закончен.

Я работаю между двумя компьютерами - моим ноутбуком и домашним ПК.

Как правило, мой метод работы включает в себя FileZilla и Notepad ++. Я подключаюсь к любой машине, которую мне нужно использовать; загрузите весь файл/wp-content/с сервера на компьютер и продолжайте работу.

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

Я слышал, что Subversion/GitHub и т.д. Упоминались очень часто, и я заметил, что большинство серьезных разработчиков используют их, но я понятия не имею, кто они и с чего начать.

Каковы преимущества использования таких систем?

Как мне быть вовлеченным?

Реально, сэкономят ли они мне время в долгосрочной перспективе?

Я просмотрел несколько ссылок, но обычно теряю связь, когда терминология начинает пролетать над моей головой, поэтому я был бы признателен, если это возможно, по-человечески. Я довольно крутой парень, PHP/SQL/JS и т.д., Но мало опыта с лучшими практиками в области кодирования, так как я примерно на 114% самоучка.

Большое спасибо,

3
dunc

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

То, что вам нужно для управления вашим кодом и отслеживания всех изменений, которые вы вносите в свои плагины, в основном называется управлением исходным кодом. Существует множество систем с открытым исходным кодом и мощных систем управления исходным кодом. Некоторые очень известные из них: Git (не github), Subversion , Mercurial , Bzr .

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

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

Но если вы не хотите платить и хотите, чтобы ваш код был закрытым, я рекомендую bitbucket.org . Они предлагают частные репозитории и поддерживают как Mercurial, так и git.

Первое, что вам нужно сделать, это сделать выбор и выбрать scm. Git очень известен благодаря своим возможностям и Github, но лично мне нравятся оба, Git и Mercurial, так как оба имеют очень аккуратные функции. Вы также можете выбрать Subversion, но тогда вам придется разместить свой репозиторий на своем собственном сервере или, возможно, найти бесплатный сервис для размещения своего репозитория SVN.

P.S Вы также можете разместить свои репозитории git и Mercurial на своем сервере.

3
Hameedullah Khan

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

1
Asko

Просто чтобы показать это: unison и аналогичные инструменты позволяют синхронизировать папки умным и чувствительным к конфликтам способом.

Они не , однако обеспечивают управление версиями, что делают svn, git и другие. Это хорошая альтернатива для них, если вам не нужно или вы хотите сохранить все ревизии, когда-либо созданные.

0
Raphael

Начните работу с Github ( http://help.github.com/ ). У вас будет онлайн копия вашего кода. Это означает, что не только, но любой может получить к нему доступ на любом компьютере (в зависимости от того, установлен ли он в качестве общего или частного хранилища). Плюс это еще одна резервная копия вашего кода :)

0
paulruescher