Вы определенно на правильном пути, осознавая необходимость контроля версий, но не знаете, что это может значить для вас и вашей работы. Когда вы изучите концепции систем контроля версий, вы по-настоящему оцените их.
Концепции просты: система управления исходным кодом - это часть программного обеспечения, разработанная, чтобы помочь вам хранить и управлять вашим кодом. То, как вы вводите и выводите код, зависит от того, какую систему вы выбираете: одна парадигма заключается в том, что вы намеренно «извлекаете» файл, вносите в него изменения, проверяете его и проверяете, что он работает, а затем возвращаетесь. Во-вторых, вы просто сохраняете каждое внесенное вами изменение, потому что дисковое пространство очень дешево, гораздо дешевле, чем ваше время и усилия, потраченные на создание источника.
Другим важным понятием является «базовый уровень» или «ярлык». Когда ваш продукт находится в состоянии готовности к отправке, вы приказываете системе управления исходным кодом создать «метку» и пометить каждый текущий элемент всей базой исходного кода этой меткой. Таким образом, когда кто-то сообщает об ошибке в версии 4.1, вы можете зайти в свою систему, запросить все файлы с меткой «Версия 4.1» и получить именно тот исходный код, с которым у них возникли проблемы.
Наличие инструмента управления исходным кодом, интегрированного с вашей средой разработки, делает весь процесс намного проще, чем возиться с командной строкой. (Не сбрасывайте со счетов командную строку из-за их сложности, они предоставляют элегантный контроль опытному пользователю, и вы в конечном итоге станете опытным пользователем.) Но сейчас я бы порекомендовал инструмент с исходным кодом, который может максимально автоматизировать процесс. насколько это возможно.
Несколько вещей, на которые стоит обратить внимание: вы сейчас или планируете поделиться разработкой с другим разработчиком? Это может повлиять на то, как вы хотите настроить сервер. Если вы разрабатываете в одиночку на своем собственном устройстве, вы можете настроить все это локально, но это, вероятно, не лучший подход для команды. (Если вы не уверены, git очень гибок в этой области.) Собираетесь ли вы хранить большие мультимедийные файлы или просто исходный код? Некоторые системы с исходным кодом предназначены для эффективного хранения только текстовых файлов и не очень хорошо справляются с фильмами, звуками или файлами изображений.
Что еще нужно знать, так это то, что большинству новых систем управления версиями требуется какая-то программа-демон, работающая на сервере (Subversion, git, Perforce, Microsoft Team Foundation Server), в то время как старые, более простые системы просто используют файловую систему напрямую (Visual Source Safe, cvs) и не требует серверной программы.
Если вы не хотите многому учиться и ваши требования низки, более простых решений должно хватить. Visual Source Safe от Microsoft раньше поставлялся со своими продуктами Visual Studio и был очень простым в использовании инструментом. Он не очень надежен, он предназначен только для Microsoft и плохо обрабатывает большие файлы, но его очень и очень легко настроить и использовать. Если вы не хотите тратить деньги, Subversion и git - это два звездных решения с открытым исходным кодом, и в Интернете есть много документации для обоих.
Если вы любите тратить деньги, Perforce считается отличным выбором для профессиональных команд разработчиков (и я считаю, что у них есть бесплатная версия для одного разработчика). Если вам действительно нравится тратить много денег и вы хотите сделать Билла Гейтса счастливым Microsoft Team Foundation Server - это полноценный менеджер жизненного цикла разработки программного обеспечения, чрезвычайно простой в использовании в среде Windows и очень мощный; но вы, вероятно, захотите выделить целый экземпляр Windows-сервера (плюс SQL Server) для его размещения, и это будет стоить вам несколько тысяч долларов только на лицензии. К сожалению, это неподходящий инструмент для магазина с одним человеком, или если у вас нет опыта администратора Windows.
Если у вас есть бюджет или возможности для связи, привлечение опытного инженера-программиста, который поможет вам начать работу, может стать самым быстрым путем к успеху. В противном случае вам придется провести дополнительные исследования, чтобы узнать, какие системы лучше всего подходят для вашей ситуации.