Git版本控制工具简介

版本控制工具

分类

集中式版本控制工具

CVS、SVN、VSS

缺点:如果服务器一旦宕机,所有历史数据将会丢失

分布式版本控制工具

Git、Mercurial、Bazaar、Darcs......

优势:本地即可进行版本控制,很好避免了单点故障

需要有一个远程库

 

功能

协同修改

多人并行不悖的修改服务端的同一个文件

数据备份

不仅保存目录和文件的当前状态,还能保存每一个提交过的历史状态

版本管理

在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行效率。

  • SVN采用的是增量式管理的方式
  • Git采取了文件系统快照的方式

权限控制

对团队中参与开发的人员进行权限控制

对团队外开发者贡献的代码进行审核--Git独有

历史记录

  • 查看修改人、修改时间、修改内容、日志信息
  • 将文件恢复到某一个历史状态

分支管理

允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率

Git简介

Git是分布式版本控制工具的代表,常用于以下两种场景

  • 个人开发改进迭代
  • 团队协作

Git优势

  • 大部分在本地完成,不需要联网
  • 完整性保证
  • 尽可能添加数据而不是删除或者修改数据
  • 分支操作非常快捷流畅(快照方式管理)
  • 与Linux命令全面兼容 

Git的结构 

 

Git和代码托管中心

 代码托管中心的任务:维护远程库

局域网环境下

  • Gitlab服务器

外网环境下

  • GitHub
  • 码云

本地库和远程库

团队内部协作 

跨团队协作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/535997.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaEE:网络编程

网络编程:通过代码完成基于网络的跨主机通信 跨主机通信方式: 1.TCP/IP网络 2.蓝牙通信 3.近场通信NFC 4.毫米波通信:功率高,带宽高,抗干扰能力差 其中TCP/IP网络是日常编程中最常涉及到的,最通用的跨主机通…

【考研数学】打基础用张宇《30讲》还是武忠祥《基础篇》?

基础课不太可能所有的东西全都覆盖,还是先搭起一个知识框架,然后不断的填充和完善。 所以不必太过于在意少一些东西,我们不可能一口吃成胖子,基础知识肯定不会遗漏的,只可能一些技巧不到位。 从自己的情况考虑&#…

jenkins 使用k8s插件连接k8s集群

jenkins 安装k8s 插件 配置k8s节点 填写k8s 配置信息 生成秘钥 在服务器上面 查看地址 Kubernetes 服务证书 key cat /root/..kube/config 查看秘钥 对秘钥进行base64 位 加密 echo "秘钥内容" | base64 -d -----BEGIN CERTIFICATE----- MIIDITCCAgmgAwIB…

漏洞发现-漏扫项目篇武装BURP浏览器插件信息收集分析辅助

知识点 1、插件类-武装BurpSuite-漏洞检测&分析辅助 2、插件类-武装谷歌浏览器-信息收集&情报辅助 章节点: 漏洞发现-Web&框架组件&中间件&APP&小程序&系统 扫描项目-综合漏扫&特征漏扫&被动漏扫&联动漏扫 Poc开发-Ymal语…

Linux:导出环境变量命令export

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 Linux中的内建命令export命令用于创建一个环境变量,或将一个普通变量导出为环境变量,并且在这个过程中,可以给该环境变量赋值。 下面…

19.创建帖子

文章目录 一、建立路由二、开发CreatePostHandler三、编写logic四、编写dao层五、编译测试运行 一、建立路由 这里要稍微注意的是:需要登录后才可以发表帖子,所以需要用到我们之前写的鉴权中间件。中间件对用户携带的token解析成功后,便会将…

第6章:6.1 文本格式化 (MATLAB入门课程)

讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 在数据处理与报告生成的过程中,我们经常需要将数据转…

JUC之JMM

Java内存模型JMM JMM三大特性:可见性、有序性、原子性 可见性 原子性:指一个操作是不可打断的,即多线程的环境下,操作不能被其他线程干扰 有序性 处理器在进行重排序时,必须要考虑指令之间的数据依赖性。多线程环境…

【c++修仙】c语言练气第九重动态内存管理

为什么要有动态内存 例如 int a20 char arr[10]{10}; 这些的内存是固定的 但是有时候我们需要的空间大小是在程序运行的时候才能知道的 malloc和free void* malloc (size_t size) 这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。 如果开辟…

“我快无聊死了”用英语怎么说?柯桥英语口语学习,成人零基础学外语

每日一句 Im bored to death. 我快无聊死了。 单词解析: bored / bɔːd / adj.无聊的,厌倦的 bored to d15857575376eath:指非常无聊或厌烦,达到了极点的程度。 "bored" 和 "boring" 都与无聊相关&#…

leetcode 热题 100_删除链表的倒数第 N 个结点

题解一: 递归:利用递归栈逆向遍历链表,并用全局变量记录当前遍历的是倒数第几位节点,当遍历到待删节点的上一位节点时,node.nextnode.next.next删除待删节点。需要注意当删除的是头节点时,直接return head.…

java-可变参数

可变参数是什么? 可变参数就是指传入的参数个数是可变的,不是固定的 为什么要可变参数? 当我们要传入大量的形参时,我们就可以用到可变参数了 定义格式 数据类型...变量名; 例如int ...a; 可变参数的细节: &…