Как я заставляю своих коллег не презирать SVN?

Вызов CREATE SEQUENCE завершается, и создается объект последовательности. Теперь вы можете получить следующее значение из последовательности:

SELECT NEXT VALUE FOR number_sequence

возвращает: 2

SELECT NEXT VALUE FOR number_sequence

возвращает: 5

SELECT NEXT VALUE FOR number_sequence

возвращает: 8

SELECT NEXT VALUE FOR number_sequence

Выдает ошибку:

Сообщение 11728, Уровень 16, Состояние 1, Строка 7
Объект последовательности 'Number_Sequence' достиг своего минимальное или максимальное значение. Перезапустите объект последовательности, чтобы можно было генерировать новые значения.

Таким образом, ваша последовательность может генерировать ровно 3 значений - 2, 5 и 8 - и тогда она «готова» и больше не может использоваться .....

12
задан Jeff Atwood 26 September 2008 в 14:55
поделиться

21 ответ

По моему опыту, одна из главных причин, почему столько людей "боится" или не любит, управление версиями, - то, потому что они не понимают базовых понятий и как система работает . Это, к сожалению, также верно для многих опытных разработчиков. Я знаю людей, которые использовали CVS и Подрывную деятельность в течение многих лет, но они никогда не создают ответвления или теги, потому что они не понимают, как они работают и поэтому видят их, как "сложный" или "ненужный".

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

я делаю не , рекомендуют использовать интеграцию IDE для изучения управления версиями использования . Интеграция и плагины часто скрывают "детали" системы от пользователя, который может очень сбивать с толку, особенно если Вы не знаете что вещи looke как "под капотом".

я предпочитаю инструменты как TortoiseSVN, где Вы выполняете большинство операций непосредственно, и вручную, без любого "волшебства" негласно. Например, очень распространенное заблуждение не понимает различия между Вашей рабочей копией и репозиторием на сервере. Я часто видел, что переключение на инструмент, где Вы воздействуете непосредственно на файловую систему, поможет с этой ситуацией, потому что пользователь вынужден к activeley, думают о том, что он делает, и почему.

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

17
ответ дан 2 December 2019 в 03:06
поделиться

Вот достойный SVN "cheatsheet", который описывает основное использование: http://abbeyworkshop.com/howto/misc/svn01/

0
ответ дан 2 December 2019 в 03:06
поделиться

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

1
ответ дан 2 December 2019 в 03:06
поделиться

Управление версиями самая большая проблема является разрешением конфликтов. Если Вы действительно хотите действовать наверняка, попробуйте этот рабочий процесс:

  1. Каждый разработчик создают ответвление из основной соединительной линии прежде, чем начать кодировать;
  2. разработчик А реализует опцию в своем собственном ответвлении и фиксации (никакая потребность обновить, так как он - единственный разработчик в своем ответвлении);
  3. Несколько более опытных разработчиков рассматривают код, тестируют и объединяют изменения ответвления основной соединительной линии;
  4. промывка и повторение

Подрывная деятельность 1,5 новых возможности являются действительно большими для этого вида рабочего процесса.

1
ответ дан 2 December 2019 в 03:06
поделиться
  • неограниченная отмена - никакая потребность взволновать по поводу потерянных изменений
  • резервное копирование, не Ваша ответственность еще
  • функциональность 'машины времени' - на что код был похож в прошлую пятницу вечером?
  • сотрудничество
  • центральная, "официальная" версия исходного кода делает легким создать выпуски
  • сравнение: кто-то смел касаться Вашего кода, что он изменял точно?
  • метки: отметьте стабильные версии, которые готовы к демонстрациям, можно продолжать разрабатывать в кодовой базе после

'слияние', только необходимое, когда два разработчика изменяют ту же строку в тех же исходных файлах. Это не происходит очень часто в малочисленных командах, и требуется несколько минут для фиксации. Все другие изменения, объединенные автоматически системой управления версиями.

3
ответ дан 2 December 2019 в 03:06
поделиться

Если они - главным образом студенты, один коммерческий аргумент - то, что здесь в "реальном мире" многие люди относятся к управлению версиями очень серьезно.

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

, Или им мог бы понравиться другой вид управления версиями все-вместе suchas мерзавец или подвижный.

2
ответ дан 2 December 2019 в 03:06
поделиться

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

После этого они будут знать то, о чем это.

1
ответ дан 2 December 2019 в 03:06
поделиться

Дайте им, краткий разговор о svn. говорит им, что преимущества и как использовать его.

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

1
ответ дан 2 December 2019 в 03:06
поделиться

, "Как я могу сделать их как управление версиями?"

Удаляют их рабочие копии, и они быстро схватят, как полезное программное обеспечение управления версиями может быть!

Серьезно, с помощью VCS что-то, что идет рука об руку с тем, чтобы быть зрелым разработчиком. Если Вы не будете знать, почему Вы хотели бы Подрывную деятельность, я не буду доверять им как разработчики. У них может быть программирование навыка, но программирование является только частью задания того, чтобы быть разработчиком.

я действительно полагаю, что, пока Вы не потеряли код, Вы никогда не будете действительно ценить VCS.

7
ответ дан 2 December 2019 в 03:06
поделиться

Простой "cheatsheet" на необходимых процедурах, учитывая пошаговый, является лучшим способом. SVN имеет некоторые ловушки, которые не очевидны. Я был связан с новыми людьми, использующими его, и в случаях они действительно сдувают целые блоки кода от текущего пересмотра, и т.д. Конечно, можно всегда возвращаться и добираться от предыдущих версий, но SVN страшен и опасен для новых людей. Имейте это в виду и запишите очень простые но явные инструкции для необходимых операций!

7
ответ дан 2 December 2019 в 03:06
поделиться

Попробуйте это . Я нашел, что это на 'SVN для макетов' ищет, и это было описано как 'SVN для Макетов, руководство, которое может понять Ваша бабушка': D

0
ответ дан 2 December 2019 в 03:06
поделиться

Во-первых, необходимо проявить "независимый от программного обеспечения" подход при рассмотрении этой проблемы. Не вынуждайте их прочитать Красную Бобовую книгу или попытаться говорить им обо всех изящных командах SVN. Вместо этого необходимо запустить путем попытки преподавать надлежащий рабочий процесс с управлением версиями. Короче говоря это означает:

  1. Обновление Ваше представление
  2. Вносит некоторые изменения
  3. Тест Ваш код
  4. , Обновление снова
  5. Решает конфликты слияния, если необходимый
  6. Фиксация

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

ключ к успешному принятию SCM является двукратным; сначала необходимо было привыкнуть людей для работы с программным обеспечением, делающим нормальные, неболезненные вещи (т.е., обновление/фиксация). Если Вы не сделаете этого, то разработчики будут склонны избегать использования SCM, пока Вы не побеспокоите их об этом и спрашиваете, почему они не фиксировали кода за две недели. Во-вторых, необходимо учить людей, как преодолеть общие болезненные сценарии, которые могли бы заставить их освобождать свою работу.

для системы SCM действительно возможно уничтожить работу, и это обычно происходит прежде , что-либо предано репозиторию с конфликтами слияния. Необходимо моделировать конфликты слияния, обойти их посредством разрешения их, и затем сделать, чтобы они сделали то же самостоятельно. Необходимо объяснить:

  • , Что значение .r1, .r2, .mine, и исходный файл будет содержать после конфликта
  • Шоу, как графически решить, конфликты
  • Теперь перекомпилировали и тестируют программное обеспечение снова только для проверки
  • , Делают резервное копирование .mine файла, снова, только для проверки
  • Тогда фиксация

в SCM существуют намного более сложные вещи, и это должно только быть объяснено намного позже после того, как основы хорошо поняты. Даже не потрудитесь упоминать, что объединили или отметили или что-либо как этот, пока у них не будет нескольких недель повседневного опыта под их поясами. Иначе сложность и дополнительный риск заставят этот новый инструмент казаться еще более "бесполезным" им.

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

12
ответ дан 2 December 2019 в 03:06
поделиться

Все об уверенности в использовании чего-то нового, и понимании, чем случается так, что они используют. После того как Вы использовали его, рады, что это работает, 'разногласие' исчезает.

Попробуйте учебный обзор сначала - вот проект, который обеспечивает некоторые слайды powerpoint для помощи.

Дайте им книгу svn и ссылки на TortoiseSVN для чтения на нем, после того как у них есть обзор.

Затем попробуйте силы - на цехе с песочницей repo.

Затем будьте доступны для помощи в течение приблизительно одной недели, в то время как они используют его для реального.

этот подход работает на все, не просто SVN.

0
ответ дан 2 December 2019 в 03:06
поделиться

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

0
ответ дан 2 December 2019 в 03:06
поделиться

Отправьте их в:

Внушает им, что на них будет клеветать как полные и чрезвычайные дураки любой, кто использует половину достойной системы управления исходным кодом (т.е. не VSS).

0
ответ дан 2 December 2019 в 03:06
поделиться

Они могут всегда пробовать "CVS бедного человека": сделайте, чтобы они сделали ZIP своего кода за момент до того, как они проверят во что-либо и сохранят их пронумерованный где-нибудь в их жестких дисках.

В конце, у них будет набор файлов как:

  • MyProject01.zip
  • MyProject02.zip
  • (и т.д.)

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

я лично нашел, что подход этого бедного человека далеко превосходит Visual SourceSafe: в бывшем работодателе я был вынужден использовать то чудовище... после второго раза, когда репозиторий полностью сломался, они благодарили меня за это: D

0
ответ дан 2 December 2019 в 03:06
поделиться

Необходимо действительно продать их на понятии управления версиями сначала так, чтобы они поняли, как svn работает.

Несколько вещей попробовать

  • , Создают репозиторий песочницы для обучения и экспериментирования
  • Попытка организовать некоторые сеансы обучения / семинары. Если Вы не уверены в выполнении, что Ваш сам, попытайтесь болтать к своей локальной Linux User Group, чтобы видеть, знают ли они кого-то, кто может помочь.
  • Документируют Ваш процесс разработки включая общие сценарии использования подрывной деятельности.

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

По Вашему конкретному вопросу фиксации .project файлы можно или установить svn:ignore свойство на свойстве, или можно установить глобальное - игнорирует значение в каждом пользовательском файле конфигурации подрывной деятельности.

0
ответ дан 2 December 2019 в 03:06
поделиться

SVN отслеживает все изменения начиная с запуска проекта, таким образом, нет практически никакого способа выбросить Вашу работу только путем нажимания "неправильной" кнопки. Я действительно думаю, что вся значительная работа должна являться объектом управления версиями , даже если нет никакой команды (я кодирую один, и я использую его).

я никогда действительно видел точку, пока я не читал эта небольшая книга , попытайтесь заставить их считать, по крайней мере, первые 20 страниц. Существует хорошая аналогия там между подрывной деятельностью и кнопка "отмены" любого редактора, который может убедить их в использовании ее (это работало со мной:))

0
ответ дан 2 December 2019 в 03:06
поделиться

Я предложил бы их читающий, по крайней мере, базовые детали http://svnbook.red-bean.com/en/1.5/index.html , это правильно написано с некоторым добавленным юмором. Это покрывает использование инструментов командной строки, но понятия являются тем же независимо от того, что взаимодействует через интерфейс, Вы используете (т.е. TortoiseSVN или Subclipse)

0
ответ дан 2 December 2019 в 03:06
поделиться

K заводят Ваших друзей , читает это. Следующее изучение cli сначала на нескольких любимых проектах разъясняет это значительно. Мое первое движение в subclipse о сделанном меня ненавидит затмение. Частично, потому что я никогда не использовал подрывную деятельность прежде.

  • проверка = получает локальную копию кода, который находится в репозитории.
  • Обновление = удостоверяется, что Ваша локальная копия актуальна с основной копией. иначе сервер.
  • фиксация = добавляет Ваши изменения в слиянии основной копии
  • =, Вы плюс кто-то еще фиксировали, так как Вы проверили. слияние позволяет, чтобы Вы сохранили ОБА набора изменений через небольшое контролируемое редактирование.

Слияние является аккуратной функцией, но немного сложный сначала идут.

0
ответ дан 2 December 2019 в 03:06
поделиться

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

кроме того, если они используют Eclipse, они могут настроить своего редактора так, чтобы это сохранило рабочие копии N текущего кода. Я сохранил меня от нескольких глупых ошибок управления версиями с той функцией.

0
ответ дан 2 December 2019 в 03:06
поделиться
Другие вопросы по тегам:

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