git 和svn有什么区别?怎么体现git是分布式的呢?git发生冲突怎么办?

   在我的项目中版本控制工具有git和SVN都用过,其中它们的区别是:

git 和svn有什么区别?

1)GIT是分布式的,SVN不是:

这是GIT和其它非分布式的版本控制系统,例如 SVN,CVS等,最核心的区别。GIT并不是目前第一个或唯一的分布式版本控制系统。 还有一些系统,例如Bitkeeper, Mercurial等,也是运行在分布式模式上的。但GIT在这方面做的更好,而且有更多强大的功能特征。

GIT 跟SVN一样有自己的集中式版本库或服务器。但是GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。

2)GIT把内容按元数据方式存储,而SVN是按文件:

所有的资源控 制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因 为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。

3)GIT分支和SVN的分支不同:

分支在SVN中一点不特别,就是版本库中的另外的一个目录。如果你想知道是否合并了一个分支,你需要手工运行像这样的命令svn propget svn:mergeinfo,来确认代码是否被合并。

然而,处理GIT的分支却是相当的简单。你可以从同一个工作目录下快速的在几个分支间切换。你很容易发现未被合并的分支,你能简单而快捷的合并这些文件。

4)GIT没有一个全局的版本号,而SVN有:

目前为止这是跟SVN相比GIT缺少的最大的一个特征。

5)GIT的内容完整性要优于SVN:

GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

怎么体现git是分布式的呢?

如果双方改的是不同的文件,或者同一个文件的不同部分,那么 git 是可以自动合并的。

如果修改的是同一个文件同一个部分,git 就没办法自动合并了,这种情况被称为「冲突」,git 会列出双方的最新版本,然后由进行合并的人(例子里是 C), 手动进行编辑。

在实际开发中,如果两个人只是往这个文件里加函数,是完全可以自动合并的,冲突主要是出现了修改了同一行的情况。

很多介绍强调 git 可以离线 commit, 意在于和 svn 做对比。svn 中,只有服务器上有完整的版本库,客户端的代码历史并不是完整的。而 git 中每一个客户端都是一个完整的版本库,push 和 pull 操作其实是在多个完整的版本库之间做同步。

这样的优势就是不怕服务器挂掉或者丢失,每个人都有完整的版本库,这也是 Linus 开发 git 的出发点(Linux 是一个多人分布式协作的开源项目). 而劣势就在于权限管理比较差,每个人都有完整的版本库有可能会导致代码(历史上所有的修改)不小心泄露。

git发生冲突怎么办?

在我们项目开发过程中经常出现同一个文件被多个人修改的有点提交到远程有的没提交远程类似的问题。如果我想提交本地代码到远程的话会出现冲突。

那么我们在遇到git冲突的时候,拉取远端代码。存在冲突,会报错。

此时我们需要将本地代码暂存起来 stash;

更新本地代码,将本地代码版本更新和远端的代码一致即可;

将暂存的代码合并到更新后的代码后,有冲突解决冲突(需要手动进行解决冲突);

提交解决冲突后的代码。

原文:https://blog.csdn.net/rao1255165570/article/details/85549520

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,612评论 5 471
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,345评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,625评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,022评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,974评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,227评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,688评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,358评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,490评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,402评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,446评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,126评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,721评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,802评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,013评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,504评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,080评论 2 341

推荐阅读更多精彩内容

  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,487评论 0 13
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,626评论 9 163
  • 声明:这篇文章来源于廖雪峰老师的官方网站,我仅仅是作为学习之用 Git简介 Git是什么? Git是目前世界上最先...
    横渡阅读 3,941评论 3 27
  • 马永忠,1977年出生永清县东新民村,廊坊市工美协会会员、河北省民间工艺美术家协会会员、河北省民间一级工艺美术家。...
    班墨空间阅读 329评论 0 0
  • 回到家,洗完衣服,做了灌溉,做完脸部SPA,做着面膜,听着书,写着今天的记录,还有今天的微课是需要去录的,断断续续...
    Daisy倾夕阅读 93评论 0 0