为什么要使用Git?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么要使用Git?相关的知识,希望对你有一定的参考价值。

现在目前代码仓库比较流行的应该就属于git和svn的天下了,前几年的时候svn还是比较火的,首先简单易懂,而且简单的冲突解决本地解决一下就好了,其他的基本上没什么复杂的,单纯不建分支的话git和svn相对来说区别还不是特别大,而且这个svn要更好一些,但是既然使用了git没有不建分支的.下面我们就来说说这两个的区别.
git和svn的区别:
1.版本库的安全性

SVN版本库安全性很差,是管理员头痛的问题。

● SVN版本库服务器端历史数据被篡改,或者硬盘故障导致历史数据被篡改时, 客户端很难发现。管理员的备份也会被污染。

● SVN作为集中式版本控制系统,存在单点故障的风险。备份版本库的任务非常繁重。

Git在这方面完胜SVN。首先Git是分布式版本控制系统,每个用户都相当于一份备份, 管理员无需为数据备份而担心。再有Git中包括提交、文件内容等都通过SHA1哈希保证数据的完整性, 任何恶意篡改历史数据都会被及时发现从而被挫败。

2.对合并更好的支持,更少的冲突,更好的冲突解决

因为Git基于对内容的追踪而非对文件名追踪,所以遇到一方或双方对文件名更改时, Git能够很好进行自动合并或提供工具辅助合并。而SVN遇到同样问题时会产生树冲突, 解决起来很麻烦。

Git的基于DAG(有向非环图)的设计比SVN的线性提交提供更好的合并追踪, 避免不必要的冲突,提高工作效率。这是开发者选择Git、抛弃SVN的重要理由。

3.十条使用Git的理由

更多的十条喜欢Git的理由,参见 《Git权威指南》 第11-21页。

● 异地协同工作

● 现场版本控制

● 重写提交说明

● 无尽的后悔药

● 更好用的提交列表

● 更好的差异比较

● 工作进度保存

● 作为SVN前端实现移动办公

● 无处不在的分页器

● 快

什么情况推荐使用SVN?

SVN具有的悲观锁的功能,能够实现一个用户在编辑时对文件进行锁定,阻止多人同时编辑 一个文件。这一悲观锁的功能是 Git 所不具备的。
对于以二进制文件 (Word文档、PPT演示稿) 为主的版本库,为避免多人同时编辑造成合并上的困难, 建议使用SVN做版本控制。

以上是关于为什么要使用Git?的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

如何管理在每个 git 版本中添加私有代码片段?

markdown Git代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段