Git или SVN для Rails приложения? - PullRequest
5 голосов
/ 11 февраля 2009

Какую систему контроля версий я должен использовать для приложения Rails: Git или SVN?

Вот несколько факторов, которые следует учитывать:

  • Я единственный разработчик
  • Я знаком с SVN
  • Я использовал Git только неделю, кажется, он очень похож на SVN.
  • Я хочу разместить свой репозиторий в удаленном месте и подключиться к нему через SSH или другой протокол (который я уже делаю с SVN).

Редактировать: Спасибо за ответы до сих пор. Кажется, что Git немного более любимый. Есть ли у него SSH-функциональность?

Ответы [ 10 ]

12 голосов
/ 11 февраля 2009

Я бы сказал, пойти на Git. Главным образом потому, что я предвзят, но также и потому, что вам не нужно настраивать какой-либо сервер с помощью Git, вы просто git init и уходите. Git обычно лучше , он обеспечивает большую гибкость и мощь, чем SVN.

Редактировать: Это немного глупо Почему Git лучше, чем Subversion , или, по крайней мере, уместно.

Edit2: Git имеет 3 основных метода связи, протокол Git, SSH и HTTP. Github использует SSH для «push-доступа», например, git@github.com/user/repo.git.

5 голосов
/ 11 февраля 2009

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

С другой стороны, если вы действительно хотите изучать GIT и можете потратить немного больше времени на его изучение, используйте GIT.

4 голосов
/ 11 февраля 2009

Используйте Git, если только по какой-либо другой причине вы можете использовать его почти точно так же, как SVN (включая удаленное управление несколькими ветвями через SSH), и это намного, намного быстрее и надежнее. Локальные проверки и ветки, распределенный контроль версий, управление историей ревизий и т. Д. Являются лишь побочными преимуществами.

По моему опыту, единственными причинами, по которым я предпочитаю SVN, а не Git, являются: устаревшее хранилище SVN или требование использовать Windows на клиенте.

2 голосов
/ 15 февраля 2009

Я бы ответил в комментариях, но пока не могу.

Для тех, кто не знает, Git работает с Windows. Если вам не нравится версия msys, TortoiseGit уже можно использовать.

1 голос
/ 11 февраля 2009

Если у вас есть день, чтобы изучить Git, то изучите Git. Он обладает всеми функциональными возможностями svn, а также дешевым ветвлением / слиянием, локальными коммитами и возможностью распределенной разработки.

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

1 голос
/ 11 февраля 2009

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

Git и svn являются хорошими решениями для контроля версий и популярны в сообществе Ruby / Rails.

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

Если бы вы работали в Windows, я бы намекнул, что TortoiseSVN, вероятно, предоставляет менее сложные возможности, чем, скажем, msysGit.

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

Если вы специально хотите изучать новую систему контроля версий при создании проекта, перейдите на страницу git. Или, если вы намереваетесь проводить много времени, например, в пограничных Rails, которые живут в Github, снова можете пойти на git.

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

1 голос
/ 11 февраля 2009

Поскольку вы соло и хотите разместить его в удаленном месте: SVN, но вы должны также изучить / использовать Git. Вы также можете объединить их, использовать Git локально и SVN для удаленного.

0 голосов
/ 15 февраля 2009

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

Я знаю, что это можно настроить для git, например, с помощью gitweb, но это требует немного работы.

0 голосов
/ 13 февраля 2009

Я бы добавил один дополнительный вопрос: вы работаете над этим в одиночку? Поддержка инструментов GUI для Git, как правило, отстает от поддержки Subversion, поэтому, если это станет или может стать вопросом, я бы выбрал Subversion.

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

0 голосов
/ 11 февраля 2009

Я бы сказал, что особой разницы нет.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...