在单独工作和处理小型项目时使用某种版本控制?


30

我经常只为自己从事小型项目。我正在使用一台机器,但是最近我还是考虑使用某种版本控制。这将带来一些好处,例如:

  • 我不再需要本地备份了
  • 错误很容易消除
  • 历史可以保持

但另一方面,它也有一些缺点,例如:

  • 需要额外资源
  • 是时候设置,习惯了,等等。

根据您的经验,单独工作时使用修订控制是件好事吗?


我的两分钱:我使用Mercurial和NetBeans,而我使用的VCS最有价值的部分(Mercurial)是能够进行更改,查看更改并清除(提交)(一次或整个文件)的功能。有空的时候 (NetBeans具有与Mercurial一起使用的图形化差异),它可以帮助我掌握刚做的事情。我们公司的历史记录和备份系统不同,因此我通常不会将其用于此目的。
布莱恩·菲尔德

Answers:


46

是。

它所要做的只是一个错误,您将为此而踢自己。您还可以选择使用哪个版本控制系统(VCS)。如果您将来有可能会在开发团队中工作,那么这是个很好的机会,可以亲自体验VCS。SVN和Git(或Mercurial)将是一个很好的起点,并且只需几个小时即可掌握每个VCS中的基本命令。

现在揭穿负面因素 ...

1)所需的额外资源

唯一所需的资源是磁盘空间。由于这只占总代码的一小部分(在Git中比X小),所以我认为这不是问题。它也不花任何钱。

2)是时候设置,习惯了,等等。

学习它需要一定的时间,但是每个学习时间都只有几个小时(如上所述)。从长远来看,它有可能为您节省无限时间(甚至更多)。掌握了VCS的基础知识之后,它比执行您要考虑的本地备份要精确得多。


5
+1:非常好。但是,我不建议使用svn:svn:当不连接到Internet时,它不允许提交更改,这有时可能是一个强大的约束。我建议使用Git(对于高级用户)或Mercurial(对于更简单的系统)。
Eric O Lebigot

7
对Mercurial的另一票表决。
克里斯·霍尔姆斯

4
@ EOL,SubVersion在这种情况下可行。如果存储库是本地的,则不需要Internet连接即可进行提交。(尽管我建议存储库至少应与开发驱动器分开使用。)
Ken Henderson

1
@EOL:是的,我忘了包括Mercurial,因为我以前从未使用过它。现在将进行编辑。虽然(在使用Git之后)如果需要我不会接触SVN,但SVN仍被广泛使用。
Jonathan Khoo,

1
@ken svn在保管箱中具有本地存储库非常适合单个用户
Martin Beckett

13

是。用它来做所有的事情。将其用于您在Word中编写的每个文档。使用它来编写所有代码。将其用于创建的每个图像。

此外,一旦学习了使用方法,在团队环境中工作会更好。


4
Word的唯一问题是二进制格式,因此您不能执行diff; 使用LaTeX的另一个原因。
gablin

将它与图像一起使用有什么意义?
Rook

例如WinMerge可以区分Word和Excel文档
Simon

2
@Rook:将其与图像一起使用的要点是,如果您编辑图像,则始终可以返回到旧版本。
Alex D

9

我喜欢独自工作时使用Git。例如,当使用PHP时,我只是在Apache服务的本地目录上建立了一个Git存储库。我可以轻松地(在分支中)开始使用一项新功能,并在本地计算机上对其进行测试。然后,如果出现问题,我需要进行“紧急修复”,它很简单:

git checkout master

瞧!我的工作目录返回到分支之前的状态。我可以快速解决。完成后,我可以切换回分支并继续开发。

学习曲线不是很陡,在线上有很多信息可以帮助您入门。挖进去。这很值得。


Git与GitHub或Gist一起进行单独项目是值得的。它们可以保护您免受自己的伤害,并在您准备好让其他人参与时很容易获得帮助。
罗布·艾伦,


2

选择像SourceRepo这样的托管产品。并不太昂贵,但是使用源代码控制可以轻松地消除错误并还原代码。

而且您可以根据需要在任何地方访问它。


4
您可能需要谨慎将公司财产上传到外部服务器。对于某些公司来说这可能还可以,但是其他公司对此并不满意。
davidhaskins,2011年

1
要提防的好地方。提交者说的是项目本身,所以我认为它是供个人使用的,但是一定要确保直属经理知道您决定使用的系统(尤其是如果他们对云技术感到恐惧的话)。
James Love

2

我一直使用git进行开发,直到意识到自己也可以将其用于其他用途。因此,尝试使用git,它可以为您提供真正的存储库,而无需服务器和恒定的连接(这对我来说是一大好处);它不会用隐藏的文件和文件夹传播项目的子目录,而是在项目顶部只有一个文件夹。您可以将其扔掉,然后克隆所需的任何东西,然后再次合并它们,这样就可以了。


2

如果您正在寻找免费软件并且需要对封闭源的支持,我将带您看看Visual Studio Online。最多可供5个开发人员免费使用,而且自己一个人...好吧。这是四年后的文章,所以您的情况可能已经改变,但是对于其他寻求简单源代码控制的个人开发人员来说,如果我不想公开我的源代码,VSO是我最喜欢的选择之一。IIRC Github仅对开源产品免费,但其价格非常便宜。如果您恰恰是IDE的选择,那么VSO和Github都可以很好地与Visual Studio集成在一起。


VSO现在支持Git!再见笨拙的旧TFVC!
RubberDuck

1

我总是为自己的项目设置源代码管理,并带有一个持续集成环境,以便每次签入时都进行构建/运行单元测试/运行集成检查。此外,如果它是Web应用程序或Windows Service,我都可以部署目标也一样 使用这种方法,我节省了无数小时的调试和部署时间,与最初设置相比,这没什么。


1

关于回购协议真的很酷的另一个功能是,您可以在另一个分支中进行非常冒险的实验/功能。如果可行,则可以将其合并为主代码的一部分。如果没有,或者您用完了时间,则可以放弃(保存)它,然后切换回您的主代码,并选择以后再返回它,而不会弄乱您的主代码库。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.