Да, я бы сказал, что полезно иметь контроль версий, даже если вы единственный пользователь.Вот некоторые из преимуществ:
- Вы можете быстро отменить свои изменения, не задумываясь о том, что вы изменили со времени последнего обновления / фиксации
- Вы можете перейти в свой проект для проверки идей, иобъединить ветви или вернуться к базе
- В случае, если к проекту присоединяется новый программист, он может просто извлечь проект из системы контроля версий и начать в него входить, не копируя файлы по сети или черезusb-stick или что-то
- У вас есть история вашего проекта (что было сделано, когда)
- Ваши проекты хранятся в одном месте, где вы можете легко увидеть их все и / или реализоватьавтоматическое резервное копирование
- Упрощение совместного использования и работы над проектом на нескольких компьютерах
- Вы получаете опыт использования контроля версий, который вам, вероятно, понадобится позже при работе в команде над каким-либо проектом
Если вы работаете на своем домашнем компьютере, и никто больше не работает над проектами в системе контроля версий, ясказал бы установить его на свой компьютер.Компании обычно имеют (или, по крайней мере, должны иметь) свои собственные внутренние системы контроля версий в своих интранетах.
Что касается того, какая система контроля версий является «лучшей», я не могу сказать точно.Я только использовал CVS и SVN, из этих двух я бы сказал, определенно пойти с SVN.Я также слышал хорошие отзывы о Mercurial и GIT, но никогда не использовал их.
Что касается других инструментов, я не уверен, что они вам нужны (поскольку вы уже используете Maven).У нас есть Hudson на работе, но я не знаю, как его настроить (это сделал кто-то другой), хотя веб-сайт Hudson говорит, что это действительно легко.Hudson контролирует систему контроля версий (в нашем случае svn) и автоматически создает проект, когда замечает новые изменения, внесенные в svn.Он запускает maven-target и сообщает о любых неудачных тестах коммиттеру по электронной почте.Я думаю, что можно также запланировать выполнение сборок в определенное время и развертывание проекта в указанном месте, но не уверен в этом.Для одного проекта разработчика, я бы сказал, что настройка Hudson, вероятно, излишняя.
Редактировать: Вспоминая, если вы решили использовать SVN, получите Subclipse (так как вы используете Eclipse), этоSVN-плагин, который позволяет легко обрабатывать извлечения / фиксации / обновления / отмены и просматривать историю, изменения и т. Д. Прямо из Eclipse-IDE.