Быстрый старт в мире систем управления версиями?

Всем здрасте.

Ситуация следующая:

Ни разу за 4 года своей программистской карьеры не использовал системы управления версиями (далее СУВ (сухая углекислая ванна) :-)) (да, бывает и такое). Работаю в команде, но склонить коллег в сторону СУВ нет возможности/нужных доводов, возможно удастся собственным примером. Посему хочу начать использовать пока чисто для себя, но немного пугает сложность, а времени разбираться в разных сложностях нет, хочется пользоваться благами СУВ приложив минимум усилий, из коробки. Хотя бы для начала, что посоветуете? Скачал git, установил, запустил, увидел черный консоль и… закрыл :-)


Разработка ведется на Delphi/C++ под виндовс. Если это важно, виндовс запускаю на виртуальной машине из под ubuntu. Заливка версий и т.п. через интернет — не приветствуется т.к. трафик ограничен, а интернет на рабочем месте очень медленный. Нужно, чтобы информация хранилась в моей личной папке на сервере, расположенном в локальной сети. Сама система (и клиент и сервер) должны работать исключительно на моем компьютере.


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

Может моя мечта утопична? :-)
  • Вопрос задан
  • 9083 просмотра
Пригласить эксперта
Ответы на вопрос 17
Riateche
@Riateche
Советую mercurial, потому что люблю эту систему. Есть отличная серия статей для начинающих. Консоли пугаться не надо, там действительно всё очень просто, надо выучить буквально несколько команд. Но есть и кроссплатформенный GUI — TortoiseHG, в котором можно делать практически всё.
Ответ написан
powder96
@powder96
Я бы начал с SVN — после прочтения статьи уже через час я коммитил в репозиторий на localhost.
www.codinghorror.com/blog/2008/04/setting-up-subversion-on-windows.html

Offtopic: почему SVN стал эм… Немодным? Был CVS, потом SVN, теперь Git? Это из-за Github и Bitbucket? Я что-то многое пропустил…
Ответ написан
slang
@slang
Если проблема в консоли, и хочется хорошей интеграции в IDE, а в качестве IDE (для С++, например) используется Eclipse — хочу предложить Mercurial (HG). Под Eclipse есть функциональный плагин, позволяющий удобно работать (для меня это в своё время стало решающим фактором, так как плагин для Git был слишком кривым). Как Git так и HG — наиболее популярные распределённые системы, удовлетворяющие всем вашим требованиям. Стартовать же с нераспределённых я бы не советовал, наверняка, придётся потом переходить.
Ну и вот можно тут же на хабре и почитать перевод неплохой статьи — habrahabr.ru/post/108443/ (а лучше оригинал).
Описан переход с SVN, что тоже может быть полезным (причина, по которой я бы советовал сразу распределённую систему).
Ответ написан
Weageoo
@Weageoo
Для быстрого старта нужно:
1) Прочитать годную статью.
2) Завести аккаунт на bitbucket.org (среди бесплатного лучше нет).
3) Использовать TortoiseGit (работать с командной строкой git при этом тоже может понадобиться, но минимально).

После выполнения шагов (1) и (2) можно, скажем, залить свой персональный проект на bitbucket.org, покомитать, посоздавать ветки, популить, попушить, поресетить.
Ответ написан
@Stepuk
Ответ написан
Комментировать
@Next_Alex
Советую RhodeCode, демо версия доступна здесь.
Развертывание в два счета, настраивается и обновляется легко, есть веб-интерфейс управления репозиториями ( +статистика и т.п. ), в качестве системы контроля версий используется Mercurial + планируется поддержка Git.
У меня на проектном серваке стоит уже полгода — только хорошие впечатления.
Ответ написан
vaniaPooh
@vaniaPooh
Я читал книгу по subversion в PDF прямо с их сайта (http://subversion.apache.org/docs/). Чтобы понять что и как, не влезая в внутренние тонкости работы самой Subversion, достаточно прочитать страниц 60-70. Вполне доступно описан цикл работы и основные команды.
Ответ написан
@polv
Попробуйте не столь популярную, но весьма интересную и перспективную, как мне кажется систему. Fossil. Это DVCS. Фактически в Windows, представляет из себя один исполняемый файл. Не мусорит в системе. Построен на основе sqlite3. Репозиторий — это один файл — база sqlite. С легкостью можно хранить хоть на flash. Включает в себя web интерфейс, сервер, wiki, bug tracking. Есть возможность автоматической синхронизации с удалёнными репозиториями. Доступ к ним через HTTP. Поддержка прокси. Работа в режиме собственного сервера, CGI, INETD. На нем ведётся разработка самого sqlite.
Ответ написан
KindDragon
@KindDragon
Мне кажется вам больше всего подойдет Git.
  1. Репозиторий будет хранится локально
  2. Вы сможете легко перенести его на локальный сервер если коллеги захотят тоже его использовать


Вам лучше использовать GitExtensions (http://code.google.com/p/gitextensions/) для работы с Git, даже можно запустить из Ubuntu через Mono.
Инструкция для работы с GitExtensions для вас будет такая:
  • После установки GitExtensions нажимаете Create New Repository и выбираете папку куда создать
  • Добавьте все временные и генерируемые файлы в .gitignore (Settings>Edit .gitignore) вот к примеру с таким содержимом github.com/github/gitignore/blob/2f89234bf81ee6a1f045c138414497225e9043cd/Delphi.gitignore
  • Сделайте свой первый коммит.
  • При каждом новом изменение Комитите в репозиторий, очень важно писать хороший комментарий к коммиту а не просто к примеру «fix»
  • Для работы над новой фичей можно создавать отдельную ветку, а потом мерджить комиты из нее в основную (master) ветку.


Если что пишите вопросы.

P.S. Надеюсь у вас небольшая команда, иначе отсутствие VCS больше походит на анекдот
Ответ написан
CKOPOBAPKuH
@CKOPOBAPKuH
> Ни разу за 4 года своей программистской карьеры не использовал системы управления версиями. Работаю в команде, но склонить коллег в сторону СУВ нет возможности/нужных доводов

Я, возможно, сгущаю краски, но если у вас нет каких-нибудь сверхестественных обстоятельств, мешающих использованию VCS, то ваши коллеги профнепригодны. Им за 60, что ли? Сейчас 2012ый год, и неприменение этих систем и препятствия им уже нельзя объяснить ничем иным.
Из систем рекомендую начать с SVN, она всё-таки попроще, а вообще рекомендую освоить какую-нибудь систему и сразу же менять работу. Или даже ещё раньше.
Вакансий много, кандидатов мало.
Ответ написан
@amaranth
Посмотрите GitLab
Ответ написан
Комментировать
multlurk
@multlurk
Если решите смотреть в сторону mercurial, то тут сборник ссылок на интересные статьи по Mercurial.
Ответ написан
murr
@murr
Шаг-за-шагом гайд по Гит: gitimmersion.com/
Ответ написан
Комментировать
charon
@charon
Git — самый модный тренд, так что лучше сразу его учить. А что, кстати, разработчик Дельфи — есть плагины для каких-то систем управления версиями? Я нахожу очень удобным пользоваться IDE, в которой сразу вшита система управления версиями.

> Разработка ведется на Delphi/C++ под виндовс. Если это важно, виндовс запускаю на виртуальной машине из под ubuntu.

Я не очень понимаю, зачем себя так мучать? Почему нельзя работать в той же ОС, в которой и для которой разрабатываешь? Впрочем, это дело вкуса.
Ответ написан
@Informatik
Git: система управления версиями для всех. Меньше теории, больше практики.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы