Какую систему контроля версий сейчас чаще используют в Java?
В веб-разработке большинство тяготеют к Git. Он хорош, если члены команды разобщены и работают удаленно, а не в офисе, "под колпаком" корпорации, которая старается держать все в одном месте и под полным своим контролем. Но у Git есть все же один недостаток: при модификации файлов от коммита к коммиту Git репозиторий "распухает" больше, чем SVN репо. Получается, что корпорации должны больше любить SVN. А как все обстоит на самом деле? - Что чаще используют корпоративные Java разработчики - Git или SVN?
@UbuRus, не волнуйтесь, вопрос я внимательно прочитал :) По поводу моды. Контр пример: С++ - мода, и ничего больше. Читайте историю развития и раскрутки С++
@NightFantom ну и причем тут ваш C++? Я сам джавист, но например знаю, что затратные части поиска яндекса написаны на C++, они поддались накрутке? Не надо путать hype и моду :) Вот Spring - это модно, а реактивное программирование пока hype.
Вопрос в корне не верен. СКВ выбирают не исходя из языка программирования. Есть несколько концепций работы СКВ. Что вам больше нравится, то и выбираете. Лично моя рекомендация - это GIT.
1) Нет жёсткой привязки к центральному серверу.
2) Удобнее реализована работа в нескольких командах. (На уровне идеологии)
Да нет же. Вы меня не совсем правильно поняли. - Я спрашиваю о том, в какой СКВ по факту работают в корпорациях (банки, аутсорсы для крупных заказчиков). - Ведь правила безопасности диктуют как раз работодатели и заказчики, в том числе, - где работать разработчикам (в офисе или удаленно). - А, значит, и какой подход использовать для СКВ, - централизованный или децентрализованный.
Firear29, ты не правильно понимаешь суть. СКВ никак не защищают информацию. Все компании хранят свои проекты на своих серверах. Если компания работает над чем-то серьёзным, то никто тебе не даст работать удалённо.
@Firear29 СКВ не защищает информацию, децентрализованность заключается в том, что каждый клиент хранит всю историю изменений, никто не запрещает также сделать в случае централизованной СКВ - выкачать всю историю на клиента.
Это различие на уровне архитектуры - один хранит полные копии файлов, а другой diff-ы. Зато создание веток и откат к любому коммиту в Git работает мгновенно.
Git использует дельты для хранения изменений, Svn хранит файлы целиком. Просто на клиенте в случае git хранится репозиторий целиком, а в случае svn только его часть, в том числе можно хранить только одну папку из проекта.
Сейчас смысл изучать svn нету, т.к. в ide научиться с ним работать дело пяти минут, а вот научиться работы в git - это достижение :)
@UbuRus - Вы в итоге и ответили на мой вопрос. - Я, кстати сказать, тоже предпочитаю Git, но все определяют корпоративные стандарты, и мне было важно узнать фактическое состояние дел. Спасибо
Git гораздо удобней. И именно "распухание" лично для меня является плюсом: иногда vpn рвется, но все бранчи и ревизии есть локально, и это не проблема. Плюс гораздо удобнее работать с бранчами.
Есть и минусы: некоторое время должно уйти на привыкание. Первые пару месяцев будете плеваться и жалеть, что перешли на git.