问题描述
我们很快将开始用Mercurial替换ClearCase.我听说这是一件好事.变更模型与版本模型.未来的浪潮.我准备相信这一点.不过,这还是吓到我了.嘿,乔尔·斯波斯基(Joel Spolsky)花了一段时间才能找到差异,以及如何充分利用Mercurial的优势,所以我敢打赌,我会遇到一些概念上的陷阱和陷阱.
We will soon start replacing ClearCase with Mercurial. I hear this is a good thing. The change model vs. the version model. Wave of the future. I'm prepared to believe this. Still, it kind of frightens me. Hey, it took Joel Spolsky a while to grok the difference and how to get maximum advantage out of Mercurial, so I'm betting I will run into conceptual traps and pitfalls.
有人在现实世界中有如何制作水银"技巧吗?任何可以帮助我弥合概念鸿沟的具体建议.关于不要做的任何警告吗?我很高兴听到他们的声音.我已经阅读了与此主题相关的最接近的SO问题,以及 Mercurial游览和许多其他博客.我主要对我可能遇到的任何陷阱或呃-哦感兴趣.您可以传授的任何智慧都会受到赞赏.
Does anyone have any real-world "how to grok Mercurial" tips? Anything specific suggestions that will help me bridge the conceptual gap. Any warnings about things not to do? I'd appreciate hearing them. I've already read the closest questions on SO related to this topic, as well as the Mercurial tour and a number of other blogs. I'm mainly interested in any gotchas or uh-ohs I may encounter. Any wisdom you can impart will be appreciated.
推荐答案
peepcode符合商业视频值得花1小时和9美元.
The peepcode meet mercurial video is worth the hour and $9.
关于陷阱,我想说的是,我看到人们在水uri法上失败的最大方法就是太着迷于他们过去做事的方式",而不是专注于他们为什么做这些事".
As far as gotcha's I'd say the biggest way I see people fail on mercurial is to get too hung up on "how they used to do things" instead of focusing on "why they did those things".
人们会反对Mercurial的分布式本质来伪造文件锁定,但这样做是因为合并曾经很困难,现在却不是.
People will beat their heads against mercurial's distributed nature to fake up file-locking but they do that because merging used to be hard and now it isn't.
否则人们会尝试将修订版ID自动更新到他们的文件中,因为以前可以在每个文件的不同修订版点进行签出.它不再是,所以只放在一个地方就好了,那个地方通常是hg id
.
Or people will try to get revision ids automatically updated into their files because it used to be possible to have a checkout at different revision points for each file. It no longer is, so having it in just one place is fine and that place is usually hg id
.
或者这是一个大问题-Mercurial进行了不可磨灭的更改-在您提交/推动更改之后,没有简单的方法(也有很多艰难的/坏的方法)来随后更改该更改.您可以否定它的作用,但不能回忆和销毁它.某人第一次进行更改时,希望他们没有,请按以下顺序进行:
Or here's a biggie -- mercurial makes indelible changes -- after you've commited / pushed a change there's no easy way (and plenty of hard/bad ways) to subsequently alter that change. You can negate its effect but you can't recall and destroy it. The first time someone pushes a change they wish they hadn't they go through this sequence:
- 该死!
- 我要撤消该事
- 我无法撤消吗?!
- 那是我听过的最愚蠢的事!
然后他们执行以下两项操作之一:
and then they do one of two things either:
- 花点时间弄清楚为什么汞使不可磨灭的美好事物
或
- 经历巨大的扭曲,以从其所有远程存储库中删除一个变更集,并发誓Mercurial已损坏
最后一件事,就哪个您选择的许多分支方法.我喜欢那篇文章中的第一个选项,而它的作者更喜欢另一个选项,但是它提供了很好的对比.
One last thing, make an informed decision about which of the many possible ways to branch you select. I like option one in that article, and its author prefer's a different one, but it gives a great compare contrast.
这篇关于从ClearCase迁移到Mercurial:您的主要秘诀是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!