TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Let’s talk about DVCS

23 点作者 niels将近 17 年前

6 条评论

orib将近 17 年前
What's different? I don't have to trust committers. People can commit to the repository without having their changes affect my work until I want them to. It's a pull model, instead of a push model, when you use it the way it was intended.<p>The flexibility, of course, allows you to use a distributed version system exactly the way you would with a centralized one.
defunkt将近 17 年前
We hear so much about the technical advantages (speed, offline committing, instant branching, cherry picking, rebasing) that we often forget the real advantage of DVCS: the D. That this article starts with the technical advantages makes me think we've done a bad job selling tools like Git and hg.<p>Yes, Rails still uses a 'central' development model. But it's trivial for me to fork Rails then track development, add my own features, fix bugs, or go my own route with a personal or corporate version of the framework. Many people do this. Rails has almost 300 forks on GitHub alone. In fact, every time you `git clone` Rails you fork it.<p>If someone has stopped maintaining a small library, you can fork it and take over. It's now your library. Others can pull down your changes and watch your development.<p>If you don't like the direction someone is taking their library, you can fork it and head a new direction. And the two tracks can live in harmony. You can even take changes you do like from the original library and merge them into yours with ease.<p>These things happen all the time and are possible with a DVCS because of the opinions (or rather, lack of opinions) present in software like Git. Yes, you can add this stuff to Subversion - add offline committing, use shas instead of revision #s, enable inline branching - but as soon as you do Subversion becomes a DVCS.<p>For me, it's always been about the social aspect of DVCS. That is the interesting part. The technical awesomeness is icing on the cake.
评论 #259826 未加载
projectileboy将近 17 年前
There are a few different things that click for me with git (e.g., local access = lightning fast operations for those things I want to do all the time), but I guess the single biggest win in my opinion is that the tool no longer dictates workflow within a large organization.<p>Whether you realize it or not, if you've got a group of a thousand developers and you say "let's keep our code in Subversion" (or ClearCase, or... etc.), you've just made a whole host of decisions about how the individual project teams are going to collaborate with one another.<p>Distributed version control systems let you consciously decide what the workflow will be between project teams, and this hasn't been possible before.
评论 #259265 未加载
silentbicycle将近 17 年前
Storing all history locally changes several search operations from time-consuming emergency techniques to immediate options.<p>Support for network structures besides "central server with commit haves and have-nots" greatly reduces the amount of inherent politics and the seriousness of forks.<p>Every repository is a <i>full backup</i>, and could become a new primary server if necessary. Even if you still use a "commit to central server" network structure, this comes in handy.
评论 #259184 未加载
rmanocha将近 17 年前
For me, the biggest win about DVCS are offline commits. I (unfortunately) live in a country where powercuts aren't uncommon. Also, broadband here is expensive, and slow (I've only got a 384 kbps connection) so not having to hit a central server for each one of my vcs related tasks helps out a lot.
kalid将近 17 年前
If it's useful, I wrote a guide to DVCS here:<p><a href="http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/" rel="nofollow">http://betterexplained.com/articles/intro-to-distributed-ver...</a><p>Pros: Everyone has a local sandbox, works offline, fast, great change tracking, easy branches/merges, less software setup<p>Cons: no "revision" by default (ugly change guids), no central "always-on" location by default