将DVCS用于单独开发人员是否有优势?


19

现在,我在服务器上使用visual svn,并在个人计算机上安装了ankhsvn / totoise。它可以正常工作,我不需要更改,但是如果我看到使用DVCS的一些好处,那么我可以尝试一下。

但是,如果在没有其他人的情况下使用它没有意义或不同,那么我不会打扰。

我再问一遍,当您是唯一的开发人员时,使用DVCS有什么好处吗?


1
参见stackoverflow上的类似文章:stackoverflow.com/questions/179161/…。您需要了解的所有内容都可以在这里很好地总结。
ysolik 2010年

因此,我的问题与这个问题完全一样,已经完全解决。不幸的是,这个问题不能回答我的问题。当您是一个单独的开发人员时,你们是从主推还是从主推?我只是想看看独奏时使用DVCS的正确方法是
Chase Florell 2012年

1
备份实质上只是另一个克隆。有一天那可能很重要。而且git工具比svn要早几年。

您是否曾经在远离服务器的笔记本电脑上工作?
JBRWilkinson

Answers:


19

是! 我认为最大的好处是许多DVCS提供了更好的分支+合并支持。分支和合并是SVN中的难题。这很烦人,不值得花时间创建小而短暂的分支来快速添加功能,修复错误或进行试验,但是合并也很烦人,以至于创建长寿分支也很痛苦。另一方面,分支和合并在Git中是一件轻而易举的事情,以至于我几乎为我处理的所有错误修复或功能都创建了一个(本地)分支。

我认为Git提供的用于可视化回购,grepping日志等的工具也比SVN中的要好得多(尽管这不仅仅是Git的事情,而不仅仅是DVCS的事情)。

DVCS也不需要中央服务器。当使用SVN作为开发人员时,您必须创建一个本地存储库以推送到其中,这对于Git来说不是必需的,因为每个存储库都包含完整的历史记录。作为必然结果,存档存储库只是压缩您的项目而已-没有要备份的“中央数据库”。

在使用SVN一段时间之后,大约四年前,我开始使用Git,但我没有回头。



4
有一种观点认为DVCS 不会使合并变得容易,但是DVCS用户在执行合并时更加实践。这使合并的主观外观更容易。当然,重要的是主观观点。
理查德

3
DVCS并不完全等于git
Murph 2010年

6
@Richard但这是错误的,集中式工具往往具有线性历史,不能很好地支持复杂的合并。
可替代

2
@Murph:的确如此,但是我使用的是Git,因此我在示例中使用了它。
mipadi 2010年

7

对于自己的个人物品,我经常使用DVCS。(我是git中$ HOME的人之一)。有几个优点:

  • 它使我的笔记本电脑与台式机和实验室计算机之间的复制变得非常容易。尽管SVN也是这样...
  • 即使没有互联网,我也可以使用笔记本电脑。
  • 备份非常简单git pull
  • git citool即使我在决定提交之前进行了许多无关的更改,我也可以将大量更改分解为逻辑大小的提交。我不知道在Subversion中执行此操作的工具。
  • 当我必须修补一个开源项目时,通过在项目目录中创建一个新的git存储库来使事情井井有条,要比我要修补的任何源代码树的第二个副本都容易。(使用Subversion很难做到这一点,因为您完全需要在硬盘上其他位置使用单独的存储库。)
  • 我使用简单的分支功能来检查从其他人那里得到的修订。例如,当我与顾问编辑会议论文时,即使他没有访问存储库的权限,我也可以向他发送论文的副本,并根据我发送的版本在分支中检入他的修订版本。他,然后git merge将他的修订与我在此期间所做的任何工作合并。

Git让我习惯于考虑我在逻辑块中的所有更改,这比Subversion所做的要多得多。


(或git fetch for a mirror)

5

太晚了,我妈妈关掉调制解调器。DVCS使调制解调器关闭后,我可以继续使用VCS。


1
我将其称为“能够在飞机上工作”或“在bitbucket.com出现故障时能够工作”,但是+1可以涵盖离线情况。
Wyatt Barnett 2012年

也是没有3G网络的户外场所。
2013年

3

好吧,默认答案是:“如果(无论您现在使用什么)对您有用,为什么要更改?”。

但是,是的,即使没有理由进行更改,我发现使用DVCS还是比“旧型号”更容易。以下是我最常使用的Mercurial,因此您的里程可能会有所不同,具体取决于要使用的系统。

  • 真的很容易使用-我在一个小时左右的时间内就找到了我需要的所有命令
  • 一切都是本地的(您不需要远程服务器在线)
  • 非常容易的分支/合并-您甚至不再考虑那些事情
  • 易于克隆(也是一种分支)-通常,它提供了更加用户友好的界面(我发现它比Windows上的git更有趣;一些概念也更简单;即,不需要我站在一边思考,因此可以减少了对VS的摆弄,完成了更多工作)
  • 与svn配合使用

跳转至Mercurial简介博客(漂亮的颜色;-),其中包含有用的提示


嗯,CVS曾经为我们工作,但是当我们迁移到它时,它远不及颠覆。新玩具为您提供了新的功能-正是由于这个原因,我正在研究Mercurial现在是否可能是更好的选择(尤其是当我使用FogBugz时)以及准确性的潜力……
Murph 2010年

3
从SVN切换到Mercurial对我来说是一个启示。它的灵感来自Joel出色的hginit.com,而且我从没有回过头。
亚当·克罗斯兰
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.