再会。
我知道我们应该提出可以回答而不是仅仅讨论的问题,所以我会尽量使我的问题可量化,即使它的本质并不完全如此。
我正在为大学的一个研究项目编写一些应用程序。我有几个“主要”项目,还有一些分支项目。随着时间的推移,这些分支变得越来越难以控制。总的来说,我在很多地方都卡住了代码项目。我是唯一一个真的这些应用程序确实有效,但我确实有一些人可以从访问代码中受益。此外,我想清理这些项目以备将来使用,无论是毕业后其他人继续我的工作,还是我自己的工作以外的项目,或者向未来的雇主展示我的技能。
这个问题的一个潜在答案是版本控制软件。我知道它,但我没有真正用过它……我从 GitHub 查看过一两个项目,但从未真正深入研究过设置和操作这样一个系统需要什么。现在似乎有很多选择,既有专有的,也有免费的。
我对这样的系统有以下的愿望:
可托管在我控制的系统上。我有一个 Amazon EC2 Micro 实例用于我的一些工作,因此这是我可以安装此类软件的地方。我也有其他机器可用,因此我不一定局限于 Micro 实例,但目前,它是我的主要目标。现在,它正在运行亚马逊自己的 Linux 映像的副本,因此理想情况下,版本控制将在 Linux 上运行。虽然我希望它托管在我自己的系统上,但我不希望管理它们成为一份全职工作……我首先是一名学生和开发人员。
可通过 Microsoft Visual Studio 访问。虽然我偶尔在其他环境中工作,但我的大部分工作都是在 Visual Studio 2012 上使用 C# 完成的。理想情况下,我可以在 IDE 中签出并合并更改。
有据可查。这应该是不言而喻的,但我们以前都经历过这种情况。
易于备份或传输。我不确定具体用什么来组织项目,但如果我可以把我的项目转移到另一个版本控制系统,那就太好了。当然,因为这些是工作文件,所以我需要能够备份它们。
考虑到这些标准,您对版本控制软件有什么建议?我是一名学生,这或多或少是我的个人项目,因此,虽然我可以免费或几乎不花钱地使用一些专有系统(我立即想到了微软产品),但我没有太多钱投入其中。理想情况下,解决方案是免费的。我希望我提出这个问题的方式可以给出明确的答案或建议。
答案1
Visual Studio 支持 Git,显然适用于所有版本(VS Express 及更高版本),但至少需要 2012.2。
- Scott Hanselman:Visual Studio 的 Git 支持 - Git、TFS 和 VS 融入上下文
- 在 Visual Studio 和 Team Foundation Service 中开始使用 Git
- Visual Studio Tools for Git(下载)
我自己没有用过,但我承认我曾简要地看过它。Git 服务器在 Linux(可能还有 Windows)上运行,并且免费,因此唯一的花费就是设置和学习如何使用它所需的时间。从屏幕截图来看,它完全集成到 Visual Studio 中,方式与 TFS/TFVC 支持几乎完全相同。
安装完所有东西后,Visual Studio 中应该有选项用于配置要连接到哪个源代码控制服务器,允许您连接到在您的 EC2 实例上运行的服务器、在本地计算机上运行的服务(只需将 Visual Studio 指向 localhost 就足够了)或其他完全不同的地方。不过,我没有安装带有源代码控制的 Visual Studio 2012(更不用说通过 Git 进行源代码控制了),因此无法提供确切的步骤。不过,下载页面上的屏幕截图看起来确实很有用。
答案2
您是否研究过 TFS Express?它是 Team Foundation Server 的免费版本,应该可以满足您的需求。但是,我不确定它在 Linux 上如何工作或是否能工作。我在家中使用 TFS Express,安装起来非常简单(它会自动安装 SQL Server 并为您配置),并为您提供所需的所有功能。
作为学生,您还可以免费获得 VS Premium,这还允许您使用 Team Foundation Server。
这两个选项都可以与 Visual Studio 无缝链接。