Переключиться с SVN на GIT для разработки на C #? - PullRequest
7 голосов
/ 21 мая 2009

Вы бы переключили проект C # на хосте SVN (2-5 разработчиков) на GIT? Есть ли у него какие-то преимущества, которые стоят дополнительных усилий?

Я сомневаюсь в этом, но ищите аргументы для обеих сторон.

Ответы [ 5 ]

12 голосов
/ 21 мая 2009

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

Что меня немного раздражает, так это то, что многие люди думают, что основным преимуществом Git и других DVCS является возможность автономной разработки. Это лишь небольшой побочный эффект от реальной возможности иметь весь репозиторий на локальном компьютере, так что ветки, слияния и т. Д. Могут быть выполнены без обращения к серверу. В случае с Git вы можете переключаться между ветками за считанные секунды, тогда как в Subversion это занимает несколько минут.

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

9 голосов
/ 21 мая 2009

Я перенес всю свою работу из SVN в Git для магазина для 2 разработчиков. TortoiseGit отлично работает в Windows, а инструмент gitk просто делает меня счастливым человеком.

Вам все равно придется привыкнуть к git в режиме оболочки в Windows для некоторых задач, но для большей части вашего ежедневного рабочего процесса Git GUI, gitk и TortoiseSVN помогут вам в этом. Качество системы ветвления / слияния и локальных частных историй для быстрого извлечения чего-либо очень, очень полезно для меня. Мне также нравится пропускать номера версий и иметь возможность выдвигать "чистые" вещи в центральное хранилище из моих грязных личных веток.

4 голосов
/ 22 мая 2009

Что заставило меня отойти от SVN, так это его медлительность в интернете. Когда до хранилища даже 100 мс, простые операции, такие как фиксация и просмотр журнала, занимают вечность (десятки секунд). С Git они занимают доли секунды.

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

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

Недавно я написал в блоге о своем опыте преобразования SVN-репозиториев в Git. Это может помочь вам, если вы решите отойти от SVN. Также помните, что с git-svn отдельные разработчики могут использовать Git на своей локальной машине, в то время как центральное хранилище является хранилищем SVN.

3 голосов
/ 21 мая 2009

Я бы сказал нет, потому что инструменты GUI для GIT на данный момент действительно примитивны.

Svn имеет VisualSvn, TortoiseSvn, которые делают интеграцию Visual Studio и Windows Explorer действительно гладкой. IMO - «простота использования» инструментов SVN, значительно превосходящая возможности управления распределенными источниками и улучшенную функциональность слияния, предоставляемую GIT.

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

2 голосов
/ 21 мая 2009

Вы можете проверить Почему Git лучше, чем SVN .

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