Что система управления версиями является самой тривиальной, чтобы настроить и использовать для игрушечных проектов?

68
задан 5 revs, 3 users 100% 23 August 2013 в 15:18
поделиться

16 ответов

Я сказал бы, что что-то как Мерзавец могло бы отвечать всем требованиям:

  • , Поскольку это - распределенная система, у Вас не должно быть центрального репозитория, repos существуют с исходным каталогом
  • , легко создать файлы исправления, которые могут быть отправлены по почте и применены.
  • , Хотя могло бы казаться, что мерзавца трудно использовать, основные идеи фиксировать, объединиться, добавляя и удаляя файлы не являются этим трудно для изучения.

Взглянули на этот сайт Волшебство Мерзавца или, даже этот сайт подсказки GitReady

84
ответ дан 3 revs 24 November 2019 в 14:01
поделиться

Я сказал бы, что Ваш лучший выбор будет состоять в том, чтобы попытаться работать с Вашим отделом ИТ для установки системы/метода для студентов для легкого создания новых репозиториев SVN/CVS.

, Вероятно, Вы могли заставить отдел ИТ давать Вам полномочия, необходимые для создания репозиториев для студентов, даже если они не дадут полномочия самим студентам. Вы могли, вероятно, довольно легко записать, что несколько сценариев к массе - создают репозитории из списков студентов в начале семестра.

1
ответ дан SoapBox 24 November 2019 в 14:01
поделиться

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

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

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

, Если Вы действительно идете этим путем, и Вы хотите устранить сложность тогда, необходимо использовать GUI svn приложение для создания изучения почти тривиального (так как я сомневаюсь, что будет много продолжения слияния). Я рекомендовал бы tortoisesvn, промахи прямо в Ваше контекстное меню Windows Explorer.

2
ответ дан Stephen Bailey 24 November 2019 в 14:01
поделиться

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

Что касается централизации - я услышал о веб-сайтах, что предлагают бесплатный хостинг проекта SVN. Быстрый поиск Google поднялся этот страница, но существует, конечно, больше.

2
ответ дан Vilx- 24 November 2019 в 14:01
поделиться

У меня был некоторый очень хороший опыт с Базар . Как Мерзавец / Подвижный это распределяется. Это без сервера - Вам не нужен демон, установленный на сервере, размещающем репозиторий даже при доступе к нему удаленно (т.е., это может работать долей FTP/SFTP).

распределенный VCS А является самым гибким. Можно проверить ответвление из более традиционного 'центрального' репозитория и получить всю выгоду от способности разветвиться от собственной небольшой разработки, отдельной к центральному серверу, и т.д. и затем, возможно, пододвинуть изменения обратно.

существуют инструменты импорта для другого VCSs, такие как Подрывная деятельность, хотя я не судил их.

5
ответ дан 2 revs 24 November 2019 в 14:01
поделиться

Базар , Подвижный , и Мерзавец звучит подходящим для Вашего случая - тривиальный для создания репозиториев, и все студенты должны совместно использовать, доступ для чтения в файловой системе в репозитории друг друга.

7
ответ дан orip 24 November 2019 в 14:01
поделиться

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

Такой же студент CS и я использовали его в прошлом году, и это работает отлично, и единственное предварительное условие является интернет-соединением:-)

7
ответ дан Kasper 24 November 2019 в 14:01
поделиться

Для реальной простоты использования для Ваших студентов Вы могли установить сервер SVN с автоматической фиксацией включенное, совместно использованное использование webdav. Таким образом, они могут просто смонтировать свой каталог с помощью WebDAV, и будет autcommit каждый раз, когда они совершают нападки, сохраняют - доступ к истории легок с TortoiseSVN, Eclipse / Плагины Visual Studio или некоторое решение для веб-доступа как ViewVC. Для Ваших потребностей ограничения доступа Вы могли использовать интегрированную аутентификацию подрывной деятельности (взгляд здесь ) - который использует простой конфигурационный файл для мелкомодульного управления доступом.

Конфигурация стала намного легче (и существует лучший documention теперь - взглянули на Книга SVN), но мог получить немного coplicated, если Вам нужны несколько отдельных репозиториев с ограничениями доступа и веб-интерфейсом.

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

Мерзавец и Подвижный был бы хорош из-за их распределенного характера, который делает совместное использование легкого - но оба инструмента испытывают недостаток в графических интерфейсах, которые действительно просты в использовании (TortoiseHg выглядит многообещающим, и gitk является очень хорошим браузером Репозитория, но Ваши студенты должны были бы все еще обернуть головы вокруг инструментов командной строки для использования в полной мере инструменты). Также понятие распределенного SCM's немного более сложно для схватывания.

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

Вы могли также использовать PlasticSCM, который имеет действительно хорошие интерфейсы для большого количества IDE и (по крайней мере, требования сайта) бесплатные лицензии на учебные заведения.

8
ответ дан 5 revs 24 November 2019 в 14:01
поделиться

Я рекомендовал бы Подвижный (также названный 'hg'). Это - распределенный VCS с открытым исходным кодом и не нуждается ни в каком центральном репозитории. Используя его повседневно легко. Существует достаточно документации относительно официального сайта. Например, выезд QuickStart.

точка Решения для меня была большим GUI для Windows - TortoiseHg. Кажется, что это также поддерживается на Linux (не судил меня). И конечно существуют дистрибутивы командной строки для большинства версий Linux.

, Конечно, это кажется легким с этой стороны забора, возможно, для занятого понятия студентов, преимуществ, и повседневная операция не будет настолько легка привыкнуть к. Но в конце, мгновенные фиксации, способность вернуться к любому пересмотру и создать новое ответвление оттуда автоматически и интеллектуальную разность/слияние просто незаменимы.

Hope это помогает!

11
ответ дан Alexander Abramov 24 November 2019 в 14:01
поделиться

Подрывную деятельность легко установить, на окнах, Linux и Mac OS X. Я не знаю, в какой программе они программируют, но subclipse плагин для Eclipse довольно легко установить и скрывает часть сложности репозитория.

И сложность репозитория? Это просто имеет соединительную линию, теги и папку ответвлений в рамках каждого проекта так или иначе. И у них не могло бы быть большого количества времени, но они должны заставить время изучать SVN (или подобный), потому что это - навык, который выглядит хорошим на их CV.

16
ответ дан JeeBee 24 November 2019 в 14:01
поделиться

Второй выбор Подвижный

Преимущества

  • Превосходная документация.
  • команда представления Graphical для показа ветвления.
  • Межплатформенный.
  • Идет с GUI для всех платформ (TortoiseHG или thg).
  • Встроенный веб-сервер для просмотра проекта.
  • Может сохранить Ваш проект на Вашей карте флэш-памяти.
    • Работа может быть сохранена, даже если только один член пары помнил их ноутбук. Не то, чтобы это когда-либо происходило бы.

Недостатки

  • уже Должны установить Python если не существующий.
    • Легкий сделать, но это - другой шаг.
  • Понимание различия между нажатием/получением по запросу по сравнению с обновлением/фиксацией.
    • (Это характерно для всего распределенного VCS).
  • различие между головами и подсказками.
  • Некоторые команды не сразу доступны; им нужно явно включить.
    • (Это обычно, считают выгодными сообществом, поскольку это сохраняет вещи простыми; некоторые другие не соглашаются хотя).
48
ответ дан 5 revs, 5 users 71%themis 24 November 2019 в 14:01
поделиться

Настройка репозитория Subversion тривиальна; Я часто настраиваю его как одноразовую вещь для небольших проектов (таких как разработка кода для ответа на Stack Overflow!), И я сомневаюсь, что у кого-то еще, кто мог бы изучить систему SCM, возникнут какие-либо проблемы с этим.

$ svnadmin create /home/cjs/repo
$ mkdir my-project
$ cd my-project
$ vi hello.c
  [...hack hack hack...]
$ svn import -m 'Initial project import.' file:///home/cjs/repo
Adding         hello.c

Committed revision 1.

Тем не менее, совместное использование, безусловно, является проблемой. Если ученики всегда работают вместе, когда они работают одновременно, они могут использовать USB-накопитель, так как они могут просто отключить его и передавать туда и обратно, когда нужно завершить работу, а человек, который собирается программировать в одиночку позже, может просто держаться за Это. Однако это не совсем удобно.

Другой вариант, поскольку все они, похоже, работают в общей системе Unix, - это создать каталог с битом выполнения, но не битом чтения, установленным для остальной группы (или всех пользователей) и используйте имя s3cr3t для репо под этим именем, которое знают только двое студентов. Передача этого секретного имени профессору также позволит ему в любое время изучить репозитории студентов. («Значит, вы отправили задание вовремя, но система электронной почты его потеряла? Дайте мне просто посмотреть время этого коммита…») Сценарий может помочь настроить это.

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

3
ответ дан 24 November 2019 в 14:01
поделиться

Я бы посоветовал посмотреть Fossil - это единственный исполняемый файл без каких-либо зависимостей для запуска, обрабатывает весь трафик через HTTP, хранит все данные своего репозитория в одном файле. который может называться как угодно, и включает в себя вики с контролем версий, отслеживание ошибок и готовый веб-сервер. О, и это '

14
ответ дан 24 November 2019 в 14:01
поделиться

ОБНОВЛЕНИЕ: Шесть лет спустя я никогда больше не подумал бы об использовании Subversion для чего-либо. Git - это то, что вам нужно. Так что, хотя я все еще думаю, что SVN немного «проще», ему просто не стоит больше учить.

Я использовал CVS, SVN, Bazaar и Git (в таком порядке введения), и мне пришлось бы сказать студентам, что SVN - это лучший способ. Фактически, когда я был ведущим специалистом по технической поддержке, мы внедрили SVN в качестве замены старого «сценария отправки», который представлял собой сценарий tar и электронной почты. Labstaff установил репозиторий на основе Apache SVN-DAV и, используя файл authz, администраторы и инструктор могли контролировать разрешения для каталогов для каждого студента и групповых проектов на очень детальном уровне, оставляя студентам очень простой путь к их первой фиксации. См. мой учебник (учетные данные вырваны последними техническими специалистами .. хм ..)

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

Я определенно не согласен с тем, что git - лучшая VCS для новичков, испытавших пустоту. Достаточно упоминания любой системы VCS, не говоря уже о Mac-папе, написанном самим Линусом королем VCS , git. Это просто неправда, что git не сложнее svn, и отсутствие зрелых инструментов n00b само по себе является достаточной причиной не использовать его в этом сценарии. Я только начал использовать git для нового проекта, который я разрабатываю в Netbeans, и уже столкнулся с серьезными ограничениями при интеграции Netbeans. В течение одного семестра вы не собираетесь использовать какие-либо функции, которые не предоставляет svn, поэтому git излишне.

и отсутствие зрелых инструментов n00b само по себе является достаточной причиной не использовать его в этом сценарии. Я только начал использовать git для нового проекта, который я разрабатываю в Netbeans, и уже столкнулся с серьезными ограничениями при интеграции Netbeans. В течение одного семестра вы не собираетесь использовать какие-либо функции, которые не предоставляет svn, поэтому git излишне.

и отсутствие зрелых инструментов n00b само по себе является достаточной причиной не использовать его в этом сценарии. Я только начал использовать git для нового проекта, который я разрабатываю в Netbeans, и уже столкнулся с серьезными ограничениями при интеграции Netbeans. В течение одного семестра вы не собираетесь использовать какие-либо функции, которые не предоставляет svn, поэтому git излишне.

3
ответ дан 24 November 2019 в 14:01
поделиться

darcs send тривиальная настройка - когда вы запускаете darcs send , он смотрит в _darcs/prefs/email удаленного repo, чтобы решить, куда отправлять электронное письмо. Если там ничего нет, то он предлагает пользователю вместо этого.

Получатель патча просто сохраняет файл и запускает darcs, применяя в соответствующей repo.

Так что каждый ученик может просто иметь свой собственный репозиторий со своим собственным адресом электронной почты в _darcs/prefs/email и обмениваться патчами по электронной почте.

.
5
ответ дан 24 November 2019 в 14:01
поделиться

Darcs - отличная система DVCS, особенно для небольших проектов, таких как проекты для классов CS. Мне жаль, что меня не познакомили с Darcs или Git в колледже, и я также благодарю вас за то, что вы познакомили их со своими учениками.

Я использую Git ежедневно. Это очень надежная система DVCS, но для небольших проектов она может оказаться излишней.

Выбирайте, любая из этих систем контроля версий действительно хороша.

7
ответ дан 24 November 2019 в 14:01
поделиться
Другие вопросы по тегам:

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