一、Git介绍、以及原理
1、Git是什么?
Git是一个分布式版本控制的系统。想要了解具体功能先来看看以下几个应用场景。
1、小王现在要开发一款Web应用,他坐在电脑前狂敲四个小时代码,正要结束去吃饭的时候,啪的一下电脑就蓝屏了,
小王欲哭无泪,此时小王内心无比渴望一种能帮助自己保存代码的一个仓库。2、小王开发这款应用时遇到了一个模块被难住了,经过他不断地修改,不断地调试终于这个模块有了全新的解决办法,
但是在不断地修改过程中,代码已经被他改的乱七八糟自己都不想再看了,此时小王内心无比渴望一种能帮助自己回滚代码的工具。3、小王经过数日的开发后,觉得太慢了,于是联系几个朋友帮忙一起开发,每天他们总是要把开发所用的资料在QQ或微信上发来发去,
这样非常的麻烦,此时小王内心无比渴望一种能够让他和朋友实时共享代码的工具。4、经过一段时间后、小王和朋友们各自完成了自己负责的模块,他们将代码汇总在一起的时候,各种报错。原来是他们用的开发环境版本各自都不同
,各种类名变量名重复冲突,此时小王内心无比渴望一种能够帮他检测并解决冲突的工具。5、小王开发的应用成功被买下,到了分钱的时候了,小王想要看一下具体各个模块的开发归属,却发现整个项目整合过后,
大家都没有之前的分工记录了,此时小王内心无比渴望一种能够帮他记录开发工程的工具。
以上几个场景,利用Git都能很好的解决。
2、集中式版本控制和分布式版本控制
版本控制系统分为两类:集中式版本控制和分布式版本控制
1、集中式版本控制(SVN)
集中式版本控制是将程序集中存储在中央服务器中,每个开发人员需要连接中央服务器才能获取代码,同时提交代码也需要连接中央服务器。如果中央服务器受到损坏,那会造成严重的损失。
2、分布式版本控制(Git)
分布式版本控制设置两个仓库来存放资源,一个本地仓库、一个远程仓库。本地仓库在开发人员的电脑上,无需联网也可以存放代码。远程仓库需要用到gitee、github等网站,需要联网才能将程序上传存放。这样就算远程仓库遭到破坏任意一个本地仓库都有存放远程仓库的数据。
3、Git的工作原理
- clone(克隆): 从远程仓库中克隆代码到本地仓库
- checkout (检出):从本地仓库中检出一个仓库分支然后进行修订
- add(添加): 在提交前先将代码提交到暂存区
- commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本
- fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
- pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于 fetch+merge
- push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库
一、Git介绍、以及原理相关推荐
- git概念、原理、使用
git和Github 概念 Git --- 版本控制工具(命令). 工具介绍官方网站:http://git-scm.com 工具下载地址:http://git-scm.com/download/ gi ...
- 第七章 : Git 介绍 (上)[Learn Android Studio 汉化教程]
Learn Android Studio 汉化教程 [翻译]Git介绍 Git版本控制系统(VCS)快速成为Android应用程序开发以及常规的软件编程领域内的事实标准.有别于需要中心服务器支持的早期 ...
- AbstractQueuedSynchronizer的介绍和原理分析
简介 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架.该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础.使用的方法是继承,子类通过 ...
- 【helpdesk】启明星helpdesk7.0版本里,实现邮件提交功能介绍和原理
在启明星helpdesk7.0版本里,新增了一个功能:邮件提交.所谓邮件提交就是用户直接发送邮件到IT.当然IT通常会公开一个公共邮件,例如support@dotnetcms.org.下面介绍一下启明 ...
- Git理论、原理、操作
Git理论.原理.操作 Git简介: 一个开源的分布式版本控制系统.用于处理任何大大小小的项目,是一个开放源码的版本控制软件. Git与SVG的区别: 1.git是分布式的 2.git把内容按元数据方 ...
- 深入理解 Git 的实现原理
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 我一直很佩服能静心细读各种官方文档的人,此文转自:https://www.cnblogs.com/m ...
- 文档下载:《两万字深度介绍分布式系统原理》.pdf
墨天轮文档:<两万字深度介绍分布式系统原理!>:https://www.modb.pro/doc/2028(复制到浏览器中打开或者点击"阅读原文"进行下载) 由于篇幅有 ...
- Attension Mechanism模型的详细介绍,原理、分类及应用
模型汇总24 - 深度学习中Attention Mechanism详细介绍:原理.分类及应用 Attention是一种用于提升基于RNN(LSTM或GRU)的Encoder + Decoder模型的效 ...
- 【卡尔曼滤波介绍与原理解析】
[卡尔曼滤波介绍与原理解析] 学习参考外文链接:http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/. 参考链接:https:// ...
最新文章
- grafana3.1.0安装配置
- Orace 11g 监听 配置修改 说明
- oracle数据库 spring,oracle spring 连接数据库 报错
- Linux监控实时log
- java听课笔记(十五)之 网络编程
- Hello Blazor:(15)使用bUnit进行单元测试
- android zxing 自动对焦,ZXing自动对焦问题
- C语言课后习题(57)
- 风控建模:催收评分卡(四)--变量整理除了跟数据获取相关外还跟什么有关系?
- Hadoop Yarn源码 - day1
- DIOCP开源项目-DIOCP3的重生和稳定版本发布
- 《深入浅出数据分析》读书心得与笔记
- U产品快报 | UK8S支持K8S 1.18版本、URTC新版Webdemo上线等重要更新
- 企业财务报表分析【2】
- 婚纱摄影、影楼、照相馆流量制造工具预约系统之种草社区
- ybt1357 车厢调度
- windows系统:oracle 10g的下载、安装、配置 (提供绝版安装文件下载)
- hdoj 1276 士兵队列训练问题 模拟队列
- C#设计模式——组合模式(Composite Pattern)
- html5学习之音乐播放器的结构整理