В связи с тем, что вопросы применения SCM к проектам на МК возникают регулярно и в разных темах, создаю эту тему и готов отвечать на вопросы по конфигурационному управлению (SCM - Software Configuration Management)
Здесь обсуждаются вопросы по:
1. Cистемам сборки: make, cmake, autoconf и т.п.
2. Системам контроля версий: SubVersion, Git и т.п.
3. Системам трекинга: Redmine, Bugzilla и т.п.
Вопросы по make и Git/SVN уже возникали в разных темах. Вопросы по трекерам пока нет, но мало ли... Все же это неотъемлемый компонент SCM
Добавлено after 20 minutes 57 seconds:
Для затравки, расскажу, как проще работать с Git или SubVersion
Дело в том, что совсем не обязательно, как настоящий гуру, пользоваться ими из командной строки )
Для Windows существует два совершенно бесплатных и удобных приложения
TortoiseGit для Git https://tortoisegit.org/
TortoiseSVN для SubVersion https://tortoisesvn.net/
Интерфейс и идеология у обеих очень похожи.
Приложение встраивается в Проводник Windows и позволяет все операции с системой контроля версий выполнять через контекстное меню Проводника.
TortoiseGit без проблем позволяет работать с GitHub напрямую, даже не открывая его в интернет браузере
Если же Вам (как мне) удобней иметь репозиторий своих исходников на локальном диске - то проще использовать SubVersion (SVN)
Добавлено after 28 minutes 13 seconds:
Во избежание споров о том, что лучше, Git или SubVersion(SVN) хочу сразу обратить внимание, что это идеологически разные системы контроля версий рассчитанные на разные области применения.
Git - децентрализованная система. Все репозитории одного проекта в Git равноправны. Это дает безусловные преимущества при децентрализованной разработке десятками и сотнями независимых разработчиков одного проекта. Но ценой дополнительных телодвижений, как при подключении к репозиторию (обязательно использование ключей доступа), так и при работе с ним (не достаточно положить изменения в репозиторий (Commit), необходимо еще синхронизировать локальный репозиторий с удаленными (Sync)).
SVN - централизованная система. Для любого проекта в ней имеется только один центральный репозиторий. У кого он расположен - тот его и контролирует. По сравнению с Git, это упрощает работу при использовании SVN незначительным количеством независимых разработчиков.
Остальные отличия Git и SVN, на мой взгляд, субъективны и не принципиальны.
Конфигурационное управление (SCM) - make, git и т.п.
- ptr128
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Чт окт 06, 2016 21:12:07
- Откуда: Южное Бутово
Конфигурационное управление (SCM) - make, git и т.п.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
- Реклама
Re: Конфигурационное управление (SCM) - make, git и т.п.
Имеючи опыт работы с разными системами контроля версий, частично не соглашусь с данным постом. Почти каждый кто работал некоторое время c Git уже не захочет возвращатся к Svn.
Svn это 20-летное устаревшое решение, git намного продуманнее, удобнее, стабильние, как в настройке так и в использовании с очень хорошим маштабированием(на то что в svn на неблагодарное дело можно было запросто потратить 2-3 часа, в 7 з 10 случаев git делает полностью автоматически за секунды, в остальных же случаях нужно потратить дополнительных 5-10 мин.)
Да, Git немного сложнее(появляется две новые команды pull и push для синхронизации с удаленным сервером, то есть вместо привычного svn commit нужно сделать git commit; git push. Хотя это тоже настраиваться), но для человека не имевшего раньше опыта с SCM разницы, думаю не будет никакой.
Но в итоге, Git намного удобнее как для групи разроботчиков с несколькими одновременно пересекающимися задачами(кто мержыл "бранчи" svn-a тот поймет
) так и для разработчика который работает над проектом в одиночку, которому нужна возможность зафиксировать/просмотреть/откатить изменения без использования или доступа к удаленному репозиторию.
Но как говорится, это дело хозяйськое - что для кого удобнее и проще
.
Svn это 20-летное устаревшое решение, git намного продуманнее, удобнее, стабильние, как в настройке так и в использовании с очень хорошим маштабированием(на то что в svn на неблагодарное дело можно было запросто потратить 2-3 часа, в 7 з 10 случаев git делает полностью автоматически за секунды, в остальных же случаях нужно потратить дополнительных 5-10 мин.)
Да, Git немного сложнее(появляется две новые команды pull и push для синхронизации с удаленным сервером, то есть вместо привычного svn commit нужно сделать git commit; git push. Хотя это тоже настраиваться), но для человека не имевшего раньше опыта с SCM разницы, думаю не будет никакой.
Но в итоге, Git намного удобнее как для групи разроботчиков с несколькими одновременно пересекающимися задачами(кто мержыл "бранчи" svn-a тот поймет
Но как говорится, это дело хозяйськое - что для кого удобнее и проще
