svn怎么看未提交修改了哪些文件_Git与SVN的区别
SVN
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就郁闷了。
下图就是标准的集中式版本控制工具管理方式:
集中管理方式在一定程度上看到其他开发人员在干什么,而管理员也可以很轻松掌握每个人的开发权限。
但是相较于其优点而言,集中式版本控制工具缺点很明显:
服务器单点故障
容错性差
Git
Git是分布式版本控制系统,它没有中央服务器,每个人的电脑就是一个完整的版本库,这样工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
下图就是分布式版本控制工具管理方式:
Git与SVN的区别
Git不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应Git提供的一些概念和特征。
Git 与 SVN 区别点:
Git是分布式的,SVN不是:这是Git和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。
Git把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。
Git分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。
Git没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。
Git的内容完整性要优于SVN:Git的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
Git 与其他版本管理系统的区别
Git 在保存和对待各种信息的时候与其它版本控制系统有很大差异,尽管操作起来的命令形式非常相近,理解这些差异将有助于防止你使用中的困惑。
下面我们主要说一个关于 Git 其他版本管理系统的主要差别:对待数据的方式。
Git采用的是直接记录快照的方式,而非差异比较。
大部分版本控制系统(CVS、Subversion、Perforce、Bazaar 等等)都是以文件变更列表的方式存储信息,这类系统将它们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。
具体原理如下图所示,理解起来其实很简单,每个我们对提交更新一个文件之后,系统记录都会记录这个文件做了哪些更新,以增量符号Δ(Delta)表示。下图来源于Git官网。
我们怎样才能得到一个文件的最终版本呢?
很简单,高中数学的基本知识,我们只需要将这些原文件和这些增加进行相加就行了。
这种方式有什么问题呢?
比如我们的增量特别特别多的话,如果我们要得到最终的文件是不是会耗费时间和性能。
Git 不按照以上方式对待或保存数据。反之,Git 更像是把数据看作是对小型文件系统的一组快照。每次你提交更新,或在 Git 中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。Git 对待数据更像是一个 快照流。下图来源于Git官网。
原文链接:
https://blog.csdn.net/ThinkWon/article/details/101449611
svn怎么看未提交修改了哪些文件_Git与SVN的区别相关推荐
- SVN、Git设置提交时忽略的文件
个人正在使用的:global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo [Tt]humbs.db [Bb]in [ ...
- 你一眼就看懂的IDEA中各种文件夹颜色标记的区别
在刚使用idea开发时大家会碰到同样都是文件夹,但是颜色标志都有些不一样,不同的颜色标志代表着文件夹有不同的用途.如下图: 1.Source roots (or source folders) 通过将 ...
- SVN如何对已经提交的注释进行再次修改?
通过svn客户端,找到需要修改注释的文件 单击右键,选择"TortoiseSVN"菜单项 会出现如下图: 选择"Show log"菜单项,会弹出一个窗口,选 ...
- svn服务器日志在哪个文件夹,SvnLog(svn日志导出工具)
SvnLog是一款可以帮助您搜索日志的工具,当您在操作SVN服务器的时候,为了知道自己执行了哪些项目,知道服务器运行的日常情况,知道在服务器上修改的文件,您可以通过日志搜索的方式直接查看记录的数据,在 ...
- Git使用本地仓库之基本操作--版本回退,后悔怎么办,撤销未提交的修改
1.Git是什么? 一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统 ①Git可以方便的在本地进行版本管理,如同你本地有一个版本管理服务器一样我们可以选择在合适的时间将本地版本 ...
- IDEA中SVN未提交代码,更新时有冲突接受其它怎么办
场景 本地有未提交代码,更新代码时提示有冲突,没有选择合并,而是选择接受它们的. 实现 此时通过svn 的查看历史版本无法查看本地的版本. 选择文件右键--Local History --Show H ...
- git 撤销未提交的修改
checkout 恢复某个已修改的文件(撤销未提交的修改): $ git checkout file-name revert 还原已提交的修改(已经提交过的修改,可以反悔-) 还原最近一次提交的修改: ...
- 看完这篇文章,让你彻底理解事务隔离级别(读未提交、读已提交、可重复读、序列化)
对于不同的事务,采用不同的隔离级别分别有不同的现象.主要有下面3种: 1.脏读(dirty read):一个事务可以读取另一个尚未提交事务的修改数据. 2.不可重复读(nonrepeatable re ...
- SVN本地代码未提交而被覆盖
本地代码未提交而不小心被覆盖了,肿么办... 到回收站找到你的文件 xxx.mine,代码就可以找回来了.如果回收站没有了,那就没办法了. ---- 失而复得的感觉真好! 转载于:https://ww ...
最新文章
- SAP ECC6.0-中建信息版
- 寄存器和存储器的区别_寄存器、累加器、暂存器都是什么?它们有什么区别?...
- 删除trigger 禁用触发器 启用触发器 查看触发器
- 【Python】SQLAlchemy长时间未请求,数据库连接断开的原因、解决方案
- oracle job 定时执行参数
- eclipse复制代码连接数据库404_再见,Eclipse ...
- 【1】TCP三次握手的第三次的 ack包丢失会怎样?
- 相似理论与模型试验_正交实验下的固液耦合相似材料研究
- 华为云 - 公有云产品 - OBS计费说明
- PostgreSQL(1)数据库安装(win和linux)
- 用python批量下载modis数据的速度怎么样_MODIS数据下载与处理-pymodis的使用(持续更新...)...
- 【电脑使用】插入SD卡图标是灰色的,点击显示“请将磁盘插入驱动器”
- MySQL 5.7.32-winx64安装教程(支持一台主机安装多个MySQL服务)
- python计算消费额_11、Python 数据分析-用户消费行为分析
- codeforces1292C Xenon‘s Attack on the Gangs
- iOS--上传AppStore时遇到的10个大坑
- matlab离散方波信号,MATLAB - 在ODE15s函数中生成方波信号?(MATLAB - Generate square signal in ODE15s function?)...
- 刷脸支付缴费成了某些医院学校的新宠
- 2021暑假集训-个人赛11
- DG维护常用命令---oracle DG dataguard
热门文章
- 精心整理 25 个 Python 文本处理案例,收藏!
- SAP 电商云 Spartacus 产品明细页面的 pageContext 如何获取的?
- 一个简单的workaround - 如何使用SAP Spartacus中的private API
- SAP Cloud for Customer 技术概述
- SAP Spartacus B2cStorefrontModule里提供的默认配置
- 今年是SAP进入中国25周年,我从2007年毕业进入SAP成都研究院,也马上就待满14年了。
- Visual Studio Code一个帮助我们进行括号配对的扩展应用,Rainbow
- abap git - commnication failure错误消息的分析和定位
- how SAP gateway parse_meta_tags
- ABAP开发者上云的时候到了 - 现在大家可以免费使用SAP云平台ABAP环境的试用版了