git和svn哪个好
GIT是分布式的,SVN不是:
这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。如果你能理解这个概念,那么你就已经上手一半了。需要做一点声明,GIT并不是目前第一个或唯一的分布式版本控制系统。还有一些系统,例如Bitkeeper, Mercurial等,也是运行在分布式模式上的。但GIT在这方面做的更好,而且有更多强大的功能特征。
GIT跟SVN一样有自己的集中式版本库或服务器。但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。可以这样说,如果你被困在一个不能连接网络的地方时,就像在飞机上,地下室,电梯里等,你仍然能够提 交文件,查看历史版本记录,创建项目分支,等。对一些人来说,这好像没多大用处,但当你突然遇到没有网络的环境时,这个将解决你的大麻烦。
同样,这种分布式的操作模式对于开源软件社区的开发来说也是个巨大的恩赐,你不必再像以前那样做出补丁包,通过email方式发送出去,你只需要创建一个分支,向项目团队发送一个推请求。这能让你的代码保持最新,而且不会在传输过程中丢失。GitHub.com就是一个这样的优秀案例。
有些谣言传出来说subversion将来的版本也会基于分布式模式。但至少目前还看不出来。
GIT把内容按元数据方式存储,而SVN是按文件:
所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它 们差距很大。因为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。
GIT分支和SVN的分支不同:
分支在SVN中一点不特别,就是版本库中的另外的一个目录。如果你想知道是否合并了一个分支,你需要手工运行像这样的命令svn propget svn:mergeinfo,来确认代码是否被合并。感谢Ben同学指出这个特征。所以,经常会发生有些分支被遗漏的情况。
然而,处理GIT的分支却是相当的简单和有趣。你可以从同一个工作目录下快速的在几个分支间切换。你很容易发现未被合并的分支,你能简单而快捷的合并这些文件。
GIT没有一个全局的版本号,而SVN有:
目前为止这是跟SVN相比GIT缺少的最大的一个特征。你也知道,SVN的版本号实际是任何一个相应时间的源代码快照。我认为它是从CVS进化到 SVN的最大的一个突破。因为GIT和SVN从概念上就不同,我不知道GIT里是什么特征与之对应。如果你有任何的线索,请在评论里奉献出来与大家共享。
更新:有些读者指出,我们可以使用GIT的SHA-1来唯一的标识一个代码快照。这个并不能完全的代替SVN里容易阅读的数字版本号。但,用途应该是相同的。
GIT的内容完整性要优于SVN:
GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。这里有一个很好的关于GIT内容完整性的讨论 –
英语培训哪个好
很明显,阿卡索在线英语培训机构是比较好的,跟着阿卡索外教一对一学习地道标准英语,高频学习,纯外教环境学习效果明显,一节课不到20元,值得选择。
分享免费试听课:【免费领取,外教一对一精品课程】点击即可免费领取一节欧美外教一对一免费试听课,试听完之后,外教老师会做英语水平测试结果,把报告发给你,抓住提供的免费试听课机会。
阿卡索的外教都是来自于以英语为母语的国家,老师是可以固定的,课程的价格不贵,一节课才20块钱左右,其实上课过程中很多学员表示外教老师很专业,不是随便拉来的老外。
希望可以帮到你啦!
想要找到合适英语培训机构,百度搜下“阿卡索vivi老师”即可。
百度搜下“阿卡索官网论坛”免费获取全网最齐全英语资源。
Html代码编辑器哪个好用,Html代码编辑器推荐
看你是纯HTML编辑还是带有后台的?
1.纯HTML专业点的话,装Dreamweaver CSS4 CS5也行,但我估计你用不到那些功能。
个人比较中意的纯HTML,有两个轻量级的:
2.Dreamweaver 8,r比较早的一个版本,很小,才几十MB。
3.Editplus,万能编辑王,但缺点是需要打补丁。
带后台的话:
4.一个是NetBeans,主打PHP后台,但很轻量级,前端编辑也不错,但跳提示速度慢。
5.还有个是vs studio,微软主打产品,比较大,但几乎是万能的。
6.如果你只是手写代码,推荐sublime。sublime要不DW小很多,而且还有各种插件支持。
-svn