独立开发者的版本控制?


60

如果您是独立开发人员,您认为使用版本控制是否值得?如果是,为什么?您是否将存储库保留在自己的计算机上或其他可以用作备份的计算机上?


54
我很希望看到一名药剂师问:“我应该以一种有组织的方式来存放药物,还是只将它们全部扔进抽屉里?这值得吗?”
艾里克(Erik)2010年

23
试想一下,要连续一个星期认真地努力创建这个出色的软件。然后删除它。你觉得如何?不只是存储。上周发生故障的情况下,您可以查看并查看更改的内容,通常还可以查看损坏的内容。我仍然看到带有备份001和backup_backup001文件夹及其源的“专业”开发人员。在您还小的时候养成良好的习惯。
艾瑞克(Erik)2010年

@Erik Yuck,备份文件夹听起来很讨厌。我对项目使用源代码管理,尽管我不太擅长经常提交。
vedosity 2010年

Answers:


61

如果您使用分散式源代码控制(Mercurial,Git或Bazaar或其他工具),则与SVN / CVS相比,您将获得优势,从而可以轻松,有用,强大地使用自己的工具:

  1. 您在本地提交:您的项目目录是具有完整历史记录的存储库。因此,您不必拥有服务器,可以直接在存储库中进行提交,并且同一台计算机上可以有多个存储库。有时会使用打开的笔记本电脑继续处理事情吗?大!您不必设置服务器,如果以后需要,则很容易,您只需在存储库之间“推送”和“拉动”更改即可。
  2. 它是为了简化实验而设计的:通常,您需要对功能有所了解,而不会污染代码。使用SVN和CVS,如果功能不如您所希望的那么好,您已经可以使用分支系统并放弃分支。但是,如果要将功能与主干版本合并,则将很难解决很多问题。Git,Mercurial和Bazaar(至少)使合并和分支变得非常容易。您甚至可以只复制一个仓库,花一些时间处理它,仍然可以提交并杀死它,或者根据需要将更改推送到主仓库中。
  3. 组织的灵活性:如前所述,您可以根据需要进行组织,因此很容易单独开始,并允许其他人通过更改组织来与您合作。没有组织的要求,因此您只需要进行设置和设置即可。我经常只是在自己的计算机(笔记本电脑/台式机/服务器)之间推/拉更改,而我仍然独自呆在我的开发人员身上。我使用Mercurial,不仅可以帮助我复制工作,而且可以在笔记本电脑上使用我以前想过的功能,然后继续在台式机上使用其他功能,然后将笔记本电脑上的更改推送到台式机或服务器上并合并整个台式机+笔记本电脑并将其(作为备份和将来的团队回购)放在我的服务器上。
  4. 它有助于设置备份:如果您设置一个中央存储库(在GitHub上为公共存储库,或者在BitBucket上的私人存储库中),则可以轻松编写一个脚本,该脚本将在每次启动计算机时执行,然后将其传递给给您的朋友,这样就可以定期自动备份您的工作。这就是我现在正在做的事情,我确信失去工作不会很容易。

实际上,当前,您没有任何理由不对任何项目使用控制源工具。因为它们比以前更强大,更灵活,并且可以根据您的需求进行扩展。


6
总是有GitHub
HedgeMage 2010年

8
或者bitbucket.org如果您使用的水银。
Terence Ponce 2010年

7
Mercurial在Dropbox上具有本地文件系统存储库对于单个开发人员确实非常有效。
Pieter Breed '12

1
@Guillaume:单个开发人员可以使用DVCS的“分布式”方面。我做。例如,我可以在电脑工作,推动我的U盘我的工作,然后再从计算机B.此USB钥匙拉
barjak

1
@Guillaume“分布式”是技术方面的,而不是组织方面的。您可以将集中式constrol源系统与仅允许集成人员验证提交代码的集成商一起使用。这是可能的,但是由于该工具的集中性而难以设置。但这仍然是一个正交的问题。
克莱姆(Klaim)2010年

34

源代码控制对于独立开发人员完全没有用,因为众所周知:

  • 独立开发商永远不会犯错
  • 独立开发人员永远不会进行不可行的修订
  • 独立开发人员从来没有一个以上的版本,所以他们没有使用分支
  • 独立开发者从不关心昨天或上周的更改
  • 独立开发人员永远都不需要备份

称我为“依赖开发人员”:Mercurial存储库可以在我的台式机,笔记本电脑,USB备份驱动器和bitbucket.org之间轻松克隆。我变得越来越依赖,我喜欢这种方式!


6
这个答案是讽刺的吗?

4
@kurtnelle:非常!
Steven A. Lowe

1
Kewlio,只是检查一下。

21

为什么不?

我是一个单独的开发人员,在我的个人项目中使用BitBucket和Mercurial。能够还原和分叉代码实在太好了,无法传递。


8
+1 for BitBucket-他们免费提供无限的私人存储库。
乔恩·萨加拉

2
免费的私有存储库是我在GitHub上使用BitBucket的原因。
Terence Ponce 2010年

4
免费私人回购?您可能已经将我从git转换为hg。
Gauthier 2010年

@Gauthier,是的,BitBucket有免费的私人仓库。我不确定它们是否是无限的。
Terence Ponce 2010年

1
您仍然可以将git与bitbucket一起使用。实际上,从github直接导入包括ssh键。刚刚采取了行动,但仍然使用git(我更喜欢!)
Daniel Casserly 2013年

1

我个人发现其中的价值。我所有的项目都被检入了git仓库(如果硬件出现故障,我会将它们全部保存在多台机器上)。最有用的功能是分支(这样我可以运行一个实验,弄乱我的代码库的一半,而不用担心永久地炸毁任何东西)并还原(基本上只是撤消类固醇;以防万一,我发现我做了一些超出正常撤消范围的错误)。



1

价值??必须!如果您不使用“源代码管理”,那么您将无法控制源代码,这很糟糕。您无法区分您无法还原,您无法跟踪更改-您将花费数小时来尝试找出刚刚输入的虚拟错误。最好将其放在某些备份服务器上,但是您也可以在计算机上使用任何合适的备份方法。


2
我实际上确实使用了源代码控制,但是我也倾向于做一些过度设计和采用过分杀伤的事情。我因工作而闻名。再说一次,我认为包括我在内的任何程序员都没有在其他地方担任过程序员,而且我们大多数人还在上高中。
vedosity 2010年

1

绝对使用源代码管理。然后设置构建服务器并自动执行构建和测试过程。从您的中央存储库的源提交触发构建。我已经以这种方式独自工作了三年,这真是太好了。


0

是。

即使是单个开发人员,有时也需要从过去的一些修订中查看其代码状态。备份所有重要内容始终是一个好主意,这适用于所有人。

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.