2009-01-18 91 views
8

一个简单的问题,人们发表他们的意见,他们的选择是什么,为什么。你对家庭项目使用源代码控制吗?

另外它会很有趣,看看是什么促使你使用它?对于我来说,我使用源代码控制,使

  • 我在工作中使用相同的,这样我就可以熟悉如何使用它
  • 我得到保护,如果我拧码起来的可以回去
  • 它的异地,所以如果我的电脑死了,我不会失去我所有的家庭代码项目。

对我来说,我使用Perforce,简单的2客户端“演示”版本。这是因为我们最近在使用IBM Rational Clearcase时转而使用它。到现在为止还挺好!

+0

谢谢大家的意见和理由!这很好,很有见地。我甚至可以考虑转向dvcs,因为我可以更轻松地在我的上网本和桌面上轻松工作,因为它的好处听起来不错。 – 2009-01-18 22:25:57

回答

16

我使用git和Subversion-git为我的C#协议缓冲区端口(我在工作时间,但从我的家用笔记本电脑上)和Subversion的其他一些东西。

我以前在本地的NAS服务器上有我的Subversion版本库,但最近我把它移到了csharpindepth.com上,所以我可以退休的NAS,但也可以从我家外面轻松获得在防火墙上打孔。

至于为什么:

  • 如果我的笔记本电脑模具
  • 在情况下,我想回去到一个较早的版本
  • 所以我可以跟踪我做了什么
  • 以便其他人也可以参与(例如,Marc Gravell向MiscUtil贡献了大量内容)
  • 分支在适当的地方

我也使用Subversion来管理csharpindepth.com和大部分yoda.arachsys.com - 我有每个站点的本地副本,并在每个服务器(存储库所在的位置)上提交后挂钩以更新Web服务器目录,当我提交。

哦,我还在深入编写C#时使用了Subversion - 我可以跟踪哪些位被写入等。我不需要经常使用该方面,但它是一个方便的备份解决方案。

+0

与往常一样,如果他们提出评论,downvotes会更有用。 – 2009-01-18 16:41:33

+0

@Jon Skeet,你喜欢git吗?现在你有一些经验,你看到它替代SVN或不是? – mmcdole 2009-01-18 18:12:14

+0

我怀疑我会在不同的设置中使用它们很长一段时间。我不知道git以及我*用*知道svn - 我有一段时间没有必要在svn中做任何不平凡的事情。说实话,两者对于我通常用于家庭的东西的使用都非常简单。 – 2009-01-18 18:45:37

15

是的,我使用SVN。

为什么?为了练习。并因为错误发生。有时候,我查看代码,开始工作,并在四个小时后意识到我已经弄得一团糟,需要退出。当我有SVN支持我时,我只失去了四个小时的工作。

3

是的,绝对。我将所有个人项目都用于颠覆活动,原因与上面提到的相同。

我甚至不会考虑在没有VCS的情况下进行任何编码,无论项目多么小。我有一个大型资源库,其中有许多文件夹供我所有的小型项目使用,如果我正在处理大型项目,它将获得自己的资源库。

4

我在家里使用了一个跨平台项目的Subversion,所以不同的开发环境(Win-Laptop和Linux-PC总是最新的。

顺便说一句SVN服务器正在运行在我的WLAN Router上,无论我在笔记本电脑还是PC上工作,都可以访问它。


编辑:既然我是问:无线路由器不支持每个默认SVN,但具有下列固件它(http://oleg.wl500g.info/)。

+0

您的无线网卡是否运行标准固件,或者您是否运行其中一款Linux开源软件?好奇,'因为华硕网站没有提到SVN – 2009-01-18 16:50:45

4

是的。我没有最长的时间,但我被烧伤如下所述: another SO thread

现在我已经开始使用它作为开发工具,而不仅仅是源代码备份。分支来尝试新功能,错误修正等。

我开始在家里使用darcs(我在当时工作的公司使用 - 不寒而栗 - SourceSafe)并且正在考虑切换到git或mercurial。

1

是的。 Subversion与我在工作中使用的一样。方便学习,因为我们刚刚在工作中转移到了Subversion。

  • 所以我可以回到旧的代码。不是固定螺丝起子,而是为了使螺丝起子。如果我在不久之前办理登机手续,我感觉更像是重新考虑因素。如果没有源代码控制,我有一个习惯,就是注释很多代码,并且永远不会删除它。
  • 我得轮我的仓库转移到比同一磁盘我结账是其他地方...
1

我使用git是的,几乎每一个项目是源代码控制之下,并具有至少一个分支。

1

是的,我使用Subversion,因此我不仅可以拥有备份代码库,还可以在家庭项目在工作时有用(例如代码示例或代码片段)时,我将始终可以访问它。当然,这对我来说是相当低廉的,因为我的工作项目已经在SVN服务器上。

2

是的,我用我的家庭项目颠覆。我使用它,因为我可以确定我在不同计算机和操作系统上的版本是相同的,如果我在一台计算机上做了一些愚蠢的事情,这是没有问题的,因为我可以将其还原。它在另一台服务器上,所以如果我的电脑死了,我仍然有这个项目。

2

由于其简单性和非集中性,我使用Git或Mercurial来开展我的爱好项目。一个qug hg/git init,然后我就会提交我的更改。如果我在空闲时间写东西,通常是因为我需要一些东西,没有什么东西存在就是我需要的东西。所以,如果事实证明这很有用,那么我很有可能会分享我编造的任何内容,在这种情况下,修订历史记录很不错。

虽然有一个切断..如果我写一个100行的shell脚本来做一些奇怪的任务,只对我有用......使用VCS没有意义。

在这个时代......我认为它的使用非常普遍,如果不这样做会让你觉得你没有裤子就上学。

1

在工作中我使用SVN,一切都很好。对于我的家庭项目,我有以下习惯:

  • 的时候我会达到一个“检查点”,我会存档我的资料来源,“暗示”的名称由(其中描述的整体进度)

  • 当我完成这个项目的时候,我通常会有大约20个档案(这些档案很有帮助,但是让我们面对它,谁想要浏览所有这些档案,按照创建/修改时间对它们进行排序,尝试代码,看看是否它的工作...糟糕的过程,不是吗?)

这就是为什么我为我的家庭项目使用SVN :)

1

是的,Mercurial。当我在一年前看时,即使使用git,也似乎有更好的Windows支持。从那时起,git似乎在赢得人气竞赛,但事实如此。我有一个场外备份,和一个Bitbucket公共项目。

0

其他所有不使用源代码管理的家庭项目,请投票。我不。

0

是的,我使用git + github.com

2

我不能不使用VCS。我改变了主意,或者需要尝试一些东西 - 我需要VCS的安全网来保护我免受自己的伤害。

我仍然使用RCS - 我不需要复杂的分支策略。我正在考虑迁移到Git(或者也许是SVN),尽管我还没有完全相信我需要。在这一点上,我赞成Git通过SVN,因为它是一个分布式VCS。

0

当然,我使用它是因为我希望它在工作中给我带来的所有好处,正如许多其他人所说的。

一旦你习惯了福利,为什么没有他们就活着?

0

是的,实际上我使用多个svn仓库,而不是像我用的一个大的仓库(一个可能是为了公共代码,另一个可能只是个人的,其他人可能是在线仓库)。我使用svn,我拥有:/ dev中的所有内容,并且具有某些文件夹,如:/ dev/external或/ dev/prv不在任何存储库中。

1

我无法想象不在家中使用VCS。尽管有明显的答案,但我做的一个很好的理由是,我经常在家中的不同项目之间拉扯,很高兴记录下我做了什么,为什么,并且我可以回到它。

它也有助于能够跨多台机器同步,并始终有一个工作副本(以及允许我的代码工作.. :))。

就我个人而言,我开始使用Perforce,因为这是我们在工作中使用的,我喜欢它。我发现它对于离线编码来说太麻烦了(谁不喜欢在咖啡店编码?),所以我切换到SVN。然而,我的下一个重大转变可能是Mercurial,因为分发的东西让我感兴趣。

0

我以前使用免费版的Beanstalk用于个人项目,它提供了一个高达20MB的SVN信息库。

我也有每日备份使用mozy

0

如果他们变得足够大,我打他们在Codeplex和VS中使用TFSC,就像我在工作中使用。

1

是的。

我曾经为我的家庭项目使用CVS,然后我将所有内容都转换为Mercurial

我有权访问服务器,通过SSH将我的工作推送/拉出,这是我的主要项目存储库,使用RAID 1和定期备份非常安全。当然,大多数项目分散在几个地方 - 在我的家用电脑上,一些重要的工作中,在一个随身碟上。 DVCS FTW! ;)

1

Subversion已经为我工作了好几年了,但是我已经进入了一个阶段,在那里我有了几台开发机器,而且颠覆也有一些挑战。例如,如果我从服务器获得最新版本并使用笔记本电脑去办公室,我可能想要在代码上多做一些工作。如果没有访问服务器,则无法检入代码。这使得有可能回滚的信心很难尝试。

当然有黑客喜欢有另一个本地存储库,但它更好地咬一口子弹,看看distributed source control system。过去几个月我一直在使用mercurial,它的功能就像一个魅力。

0

我发誓,我想,但它是如此宕很难找到的东西,我的环境中工作以及...

0

我目前没有,但我想。我在Beanstalk有一个免费帐户,我正在辩论是否获得付费帐户,或者转移到GitHub。

1

我在我的Ubuntu笔记本电脑上有Subversion。 为什么?我认为没有人想用日期扩展或类似的东西来存储文件的多个副本,除非他们不是严肃的项目。任何具有体面代码库的项目都需要版本控制,这样您就可以随时返回,而不必担心两天前我的更改丢失了什么。另外,因为我使用SVN的fsfs,我可以随时备份它们,并在我的笔记本电脑崩溃时将它重新加载到另一个盒子中。

0

我主要使用源代码控制,因此我可以在多台计算机(台式机,笔记本电脑)上工作同一个项目。不过,这对于允许我对项目进行大范围的更改也非常有用,无需担心必须备份重要文件,以防止我想要反转某些更改。

2

一旦我开始工作(如果涉及编程,但并非总是如此),所有与我工作或工作或家庭相关的工作都受版本控制。许多原因,包括历史,分支,与软件的集成,如Redmine,特别是如果我打算分发某些东西,回复某些东西的简单方法等等。

任何VCS都比没有(包括RCS)好,但我一直在赞成DVCS很长一段时间。我自己使用Mercurial,因为它是分散式的(我有几台机器,包括两台笔记本电脑),可以进行离线工作(思考飞机或列车),比git更快更容易使用。

0

我愿意,我想变得更好。最初,我想在某个地方的某个远程安装上使用TFS,但现在我的网络中断了几天,我很高兴我在运行一个主服务器的时候,猜测是什么,Subversion。

0

在最近我只使用Git。在之前和现在我已经通过CVS,SVN,我觉得它需要更少的工作,比它节省我。从未有过这种感觉。:)

$ mkdir newproject 
$ cd newproject 
$ git init 
$ vim README 
$ git commit -m "Readme file" README 

完成。我认为这并不容易。它的美妙之处在于,我不需要设置任何东西。它只是马上工作。

0

是的。对于小事我使用darcs,因为它的界面很简单。由于darcs不能缩放,我使用git来处理任何严重的事情。两者都允许我在断开连接时提交更改。

0

我在工作中使用SVN,现在我正转换到义卖市场(bzr),可能是因为错误的原因。

在开始时,我一直在寻找一种方式来继续在断开连接的笔记本电脑上工作。 Bzr是唯一能够以双向方式与Subversion服务器交互的分布式vcs(拉和推)。

现在我的家庭项目,我仍然使用bzr,因为它比SVN更容易建立一个新的存储库。但svn可能会满足我的需求。这就是为什么我告诉我因为错误的理由而转换......太懒惰了。

0

我使用Beanstalk SVN和版本。当我做了一些愚蠢的事情时,它不止一次地拯救了我的培根。

-1

我对任何大于一个文件的项目使用git。由于我的笔记本电脑由时间机器支持,因此我不上传。

0

我使用水银和颠覆了一切,因为:

1)它能够做根治重构或变更,而不必担心丢失工作代码 2)它使我的工作备份 3)它可以同时在多台计算机上同时处理同一个项目,而无需担心同步问题。

-1

是的,github! :)