git与svn对比

git 与 svn 对比

git的使用不需要联机

它的使用流程不需要联机,可以先将对代码的修改,保存在本机。等上网之后,再实时推送过去。

提交代码,查看日志,推送具有闪电般的速度

git提交是个本地操作,相对svn闪电一般。

本地包含了完整的日志,无需网络

git向远程服务器推送提交内容相比svn更快

每个git存储库只有一个git目录

和 SVN不同,一个Git项目一般只在项目的根目录下建一个“.git”目录,而SVN则会在项目的每一个目录下建一个”.svn”目录

git项目移植更方便

Git把所有的历史提交信息全部存储在“Git目录”里,它就是一个Git项目的仓库;你对本地的源代码进行编辑修改后创建的提交也都会先保存在这里面,然后再推送到远端的服务器。当我们我把项目目录和“Git目录”一起拷到其它电脑里,它能马上正常的工作(所有的提交信息全都保存在Git目录里);甚至可以只把“Git目录”拷走也行,但是要再签出(checkout)一次。

git支持tag属性

svn在模型上是没有分支和tag的。tag是通过目录权限限制(对开发只读)来保证不变。

git模型上支持tag,保证只读。

合并对提交过程的保留

git:合并操作保留原有的提交过程(即保留了合并来源的作者、提交次数、分离提交的内容)。

svn:合并操作把来源多个提交合并成了一个合并提交,即在提交历史中Crash了自然的提交过程。

更强大智能的合并能力

git:重命名(无论文件还有目录)提交 , 可以合并上文件重命名前的这些文件的提交。

svn:重命名(无论文件还有目录)提交后,你本地/或是分支上 有文件重命名前的这些文件的修改或提交,在做合并操作时,恭喜,你会碰上传说中难搞的树冲突

因为惧怕svn树冲突,在包名调整(重命名目录)或类名调整(重命名文件)前,我不得不先向一起开发的组员广播:

  1. 提交你的修改
  2. 暂停相关类的修改
  3. 我开始做调整
  4. 等我修改好后,你再开始修改

廉价好用的本地分支

git:有本地分支

svn:无本地分支

git可以方便创建本地分支,且创建分支的时间是O(1),即瞬间就创建好了。由于分支可以是本地的,也就不存在svn目录权限的问题。

缺点

(1)git的入门,稍微有点麻烦,需要在本机创建一个ssh的钥匙。

(2)图形化操作界面不及svn那么好用

git和github的关系

git是一个非常强大的版本管理工具。github则是一个基于git的日益流行的开源项目托管库。

Git把所有的历史提交信息全部存储在“Git目录”里,它就是一个Git项目的仓库;你对本地的源代码进行编辑修改后创建的提交也都会先保存在这里面,然后再推送到远端的服务器。当我们我把项目目录和“Git目录”一起拷到其它电脑里,它能马上正常的工作(所有的提交信息全都保存在Git目录里);甚至可以只把“Git目录”拷走也行,但是要再签出(checkout)一次。

时间: 2024-10-12 20:23:07

git与svn对比的相关文章

Git和Svn对比

From: https://wenku.baidu.com/view/1f090e2e7275a417866fb84ae45c3b3567ecdd12.html Git和Svn对比 共享文档 阅读已结束,下载本文需要 1下载券 下载 VIP免券下载 享专业文档下载特权 赠共享文档下载特权 赠百度阅读VIP精品版 赠智慧课堂VIP试用版 svn怎么使用 - 企业代码托管品质之选 - 超高性价比广告 查看详情 分享到: QQ空间新浪微博微信 文档可以转存到百度网盘啦! /10 1下载券 立即下载 加

源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )

一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Benedict Torvalds 当初开发git仅仅是为了辅助Linux内核的开发(管理源代码) git的现状 在国外已经非常普及,国内并未普及(在慢慢普及) 越来越多的开源项目已经转移到git CVS 最早的开源.免费的集中式版本控制工具 自身设计有问题,会造成提交文件不完整,版本库莫名其妙损坏的情况 SVN

Git 与 SVN对比详解

一.Git vs SVNGit 和 SVN 孰优孰好,每个人有不同的体验. Git是分布式的,SVN是集中式的 这是 Git 和 SVN 最大的区别.若能掌握这个概念,两者区别基本搞懂大半.因为 Git 是分布式的,所以 Git 支持离线工作,在本地可以进行很多操作,包括接下来将要重磅推出的分支功能.而 SVN 必须联网才能正常工作. Git复杂概念多,SVN简单易上手 所有同时掌握 Git 和 SVN 的开发者都必须承认,Git 的命令实在太多了,日常工作需要掌握add,commit,stat

GIT和SVN之间的区别及基本操作对比

1)GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如 SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或唯一的分布式版本控制系统. 还有一些系统,例如Bitkeeper, Mercurial等,也是运行在分布式模式上的.但GIT在这方面做的更好,而且有更多强大的功能特征. GIT 跟SVN一样有自己的集中式版本库或服务器.但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上c

git跟svn 服务端对比

Git已经火了很久,简单的使用也没有问题,但有几个问题一直以来都没有搞清楚:git跟svn有哪些异同,两者相互的优劣是什么,git的分布式怎么理解,为什么有离线提交,,,自己动手,分别看一下服务端跟客户端使用有什么异同,大概也就了解了. 选择的服务端分别是gitlab跟visual svn server. 1.gitlab简单说明: svn是我们比较熟悉的,svn有服务端跟客户端:虽然git是分布式的,但平时我们使用的时候往往都是有一个服务端的,比如gitlab,github等. Gitlab是

对比 Git 与 SVN,这篇讲的很易懂

一.Git vs SVNGit 和 SVN 孰优孰好,每个人有不同的体验. Git是分布式的,SVN是集中式的 这是 Git 和 SVN 最大的区别.若能掌握这个概念,两者区别基本搞懂大半.因为 Git 是分布式的,所以 Git 支持离线工作,在本地可以进行很多操作,包括接下来将要重磅推出的分支功能.而 SVN 必须联网才能正常工作. Git复杂概念多,SVN简单易上手 所有同时掌握 Git 和 SVN 的开发者都必须承认,Git 的命令实在太多了,日常工作需要掌握add,commit,stat

Git简史及对比SVN区别

Git 简史 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持. Git 与 SVN 区别 GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等. 如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应

对比 Git 与 SVN

一.Git vs SVN Git 和 SVN 孰优孰好,每个人有不同的体验. Git是分布式的,SVN是集中式的 这是 Git 和 SVN 最大的区别.若能掌握这个概念,两者区别基本搞懂大半.因为 Git 是分布式的,所以 Git 支持离线工作,在本地可以进行很多操作,包括接下来将要重磅推出的分支功能.而 SVN 必须联网才能正常工作. Git复杂概念多,SVN简单易上手 所有同时掌握 Git 和 SVN 的开发者都必须承认,Git 的命令实在太多了,日常工作需要掌握add,commit,sta

GitBash、EGit、SourceTree三个Git管理工具对比

Git管理工具对比(GitBash.EGit.SourceTree) GitBash是采用命令行的方式对版本进行管理,功能最为灵活强大,但是由于需要手动输入希望修改的文件名,所以相对繁琐. EGit是Eclipse的Git插件,最为纠结的一个软件,因为开发时直操作很方便,尤其是有svn开发情节的人更热衷于这样,不过EGit中有很多bug和不人性化的东西,让人吐血,所以 一句话EGit并不能解决所有Git问题,开发时必须部分依赖于其他Git管理工具.一会一一列举. SourceTree是最近应用的