无论是在学校里还是之前在team里的一些开发都是用subversion做版本控制的,习惯于svn up、svn ci……当然也经常挣扎于svn的烦恼中,尤其是来公司干活后。最头痛的是经常会遇到自己coding了好多代码,突然来了一个棘手的bug,虽然改正很轻松,但提交就麻烦了,因为除了修正bug的代码还有我未完工的代码,不能简单的svn ci了~
最近可能也是因为项目里不稳定的模块太多了,版本库里“不负责”的提交太多,搞得主管跑数据时很头疼,我们修复bug也很抓狂,于是终于下决心不再直接svn到主版本库了,我们都改用mercurial。于是开始了一种新的版本控制工具的学习……
感觉mercurial与subversion最大的不同在于mercurial平时的提交对象是本地repo(最初是从主repo克隆出来的),而subversion每次提交都是在操作主repo。于是mercurial相对subversion就多了一个push操作,用来操作主repo。mercurial相对subversion有意思之处在于,mercurial可以方便的在本地管理多个开发版本,push想要push的版本,从而保证主repo的“单一而稳定”。
就拿文章开始的情景举例。当主repo的版本为1, 本机repo版本为2时,发现了一个需要立即修复的bug。一种选择是在我的版本2的基础上修复bug,然后提交产生版本3,并push到主repo上。但是此时我在版本2中添加的代码还没有开发完,不能提交的主repo中去,难道我要舍弃我不完善的代码?这时我可以在本机上先up到版本1,此时所有的代码内容完全不含我新增的代码,可以放心的修复bug,提交成版本3,并且push到主repo上,然后再up回版本2,此时我的代码又回来了!执行一下merge操作可以把刚才的修复和我不完善的代码合并到了一起。
当然,我也承认,我对mercurial的好感可能也是因为我之前对subversion的不熟悉,哈哈,不管怎样,工作顺心即可!
分享到:
相关推荐
- 在线教程:网上有许多教程和视频,可以帮助初学者快速上手Mercurial和MercurialEclipse的使用。 通过以上介绍,我们可以看到MercurialEclipse v2.1是将强大的Mercurial版本控制功能集成到Eclipse和MyEclipse中的...
- 在线教程:网上有许多免费教程,帮助初学者快速上手。 通过理解和掌握Mercurial的基本操作和高级特性,开发者可以有效地管理项目,提高开发效率,并确保代码的质量和一致性。对于团队协作,Mercurial提供了强大...
选择Mercurial的原因可能包括:相比Git,它的学习曲线较为平缓,更易于上手;对Windows平台有更好的支持;以及其核心是用Python编写,这使得Mercurial更易于扩展和维护。尽管Git在某些方面(如分支管理、rebase功能...
Mercurial与Git类似,都是分布式版本控制系统,但Mercurial的命令语法更直观,对于新手来说更易上手。而Git在社区支持和插件生态方面可能更强大。 总的来说,《Mercurial 参考手册》提供了关于Mercurial的全面指导...
3. **简单命令行**: Mercurial的命令行接口直观且易于理解,使得新用户可以迅速上手。 4. **平台独立**: Mercurial是跨平台的,可以在Windows、Linux、Mac OS X等操作系统上运行。 **SourceTree和Git辅助工具** ...
与Git相比,Mercurial的语法更为直观,对于新手来说可能更容易上手。然而,Git在社区支持和第三方工具方面可能更胜一筹。例如,Git的`rebase`命令提供了更灵活的分支历史重塑,而Mercurial的`graft`可以实现类似的...
通过以上知识点的总结,我们可以看到Mercurial不仅是一种强大的版本控制系统,还具有简单易用的特点,非常适合初学者上手。它在处理大型项目时表现出色,尤其在分布式环境下有着明显的优势。无论是对于个人开发者...
1. **易用性**:Mercurial提供了一套直观且易于理解的命令集,使得新手也能快速上手。 2. **高效性**:Mercurial利用高效的算法和技术来实现快速的版本控制操作,特别是在处理大数据量时表现出色。 3. **灵活性**:...
1. **图形化界面**:TortoiseHg将Mercurial的命令行工具包装成友好的图形界面,使得初学者也能轻松上手,减少了对命令行的依赖。 2. **版本控制**:你可以轻松地创建、克隆和更新代码仓库。它支持对文件和目录的...
SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作。同时它也是Mercurial和Subversion版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作。
Mercurial的设计目标是简单易用,它的命令语法比Git更为直观,对于初学者而言更容易上手。Mercurial同样具有强大的分支和合并功能,以及良好的跨平台支持。 `git-remote-hg`库的核心功能在于其提供的`git-remote`...
作为一个专业的IT工具,SourceTree以其直观易用的图形界面,使得Git的复杂操作变得简单易懂,即使是初学者也能快速上手。 **Git基础** Git是一种分布式版本控制系统,它允许开发者跟踪和管理项目中的文件变更,...
SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作。同时它也是Mercurial和Subversion版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作。
SourceTree作为Git的图形化工具,简化了命令行操作,让不熟悉Git命令的用户也能轻松上手。 **Mercurial与SourceTree** Mercurial是另一款流行版本控制系统,与Git类似,也支持分布式开发。Mercurial的语法简单,...
TortoiseHg作为Mercurial的图形化前端,极大地简化了用户交互,使得非技术背景的团队成员也能轻松上手。 TortoiseHg 4.9.1版本针对64位操作系统进行了优化,能够更好地利用系统资源,提供更稳定的性能。这个版本...
- 更好的用户体验:Mercurial设计简洁明了,易于学习和使用,降低了新用户的上手难度。 - 社区支持:Mercurial有一个活跃的社区,提供了大量的插件和扩展来增强其功能。 **1.5 版本控制的历史简述** - **版本...
本文主要对比了三种适用于Python项目的版本控制工具:Git、SVN和Mercurial,以便开发者根据项目需求和团队特点做出合适的选择。 Git作为当前最流行的版本控制工具,其分布式特性是其一大亮点。每个开发者都可以拥有...