Во-первых, вам нужно принять «программно-независимый» подход к рассмотрению этой проблемы. Не заставляйте их читать книгу «Red Bean» или рассказывайте обо всех изящных командах SVN. Вместо этого вы должны начать с изучения правильного рабочего процесса с контролем версий. В двух словах, это означает:
- Обновите ваш взгляд
- Внести некоторые изменения
- Проверьте свой код
- Обновите снова
- Решать конфликты слияния, если необходимо
- Commit
Обратите внимание, что я исключаю первоначальный процесс проверки, так как вы должны быть там, чтобы помочь им проверить их первоначальный вид. Вышеприведенные шаги - это только то, что разработчики с поддержкой SCM должны делать каждый день (кстати, вы также должны это подчеркнуть, иначе люди, опасающиеся конфликтов слияния, со временем только ухудшатся).
Ключ к успешному внедрению SCM имеет два аспекта; Во-первых, нужно, чтобы люди привыкли работать с программным обеспечением, делая обычные, безболезненные вещи (например, обновление / фиксация). Если вы этого не сделаете, разработчики будут стараться избегать использования SCM, пока вы не побеспокоите их об этом и не спросите, почему они не зафиксировали какой-либо код в течение двух недель. Во-вторых, вам необходимо научить людей преодолевать распространенные болезненные сценарии, которые могут привести к потере работы.
Система SCM действительно может уничтожить работу, и обычно это происходит за до того, как что-либо передается в хранилище с конфликтами слияния. Вы должны имитировать конфликты слияний, проходить их через разрешение и затем делать то же самое самостоятельно. Вы должны объяснить:
- Что будет означать .r1, .r2, .mine и исходный файл после конфликта
- Показать, как графически разрешить конфликты
- Теперь перекомпилируйте и снова протестируйте программное обеспечение, чтобы убедиться, что
- Сделайте резервную копию файла .mine, опять же, просто чтобы убедиться,
- Затем совершить
Есть много более сложных вещей в SCM, и это должно быть объяснено только намного позже после того, как основы хорошо поняты. Даже не упоминайте о слиянии, пометках или о чем-то подобном, пока у них не останется несколько недель повседневного опыта. В противном случае сложность и дополнительный риск сделают этот новый инструмент еще более «бесполезным» для них.
Опять же, ключевой момент здесь состоит в том, чтобы подчеркнуть ежедневный рабочий процесс SCM программно-нейтральным способом и медленно объяснить причуды конкретной системы SCM по мере их появления. Слияние - единственная сложная вещь, которую нужно объяснить вначале, так как это, вероятно, единственная болезненная вещь, с которой приходится сталкиваться ежедневно. Все остальное должно быть объяснено по мере его появления.