GIT

是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git的功能特性:
从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
VCS
版本控制系统(version control system),是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。用的比较多的如svn,git等。
为了让不同系统上的开发者能够协同工作,集中化的版本控制系统应运而生(CVCS)。这类系统都有一个单一的集中管理的服务器,保存所有文件的修订版本。而协同工作的人们都通过客户端连接到这台服务器,获取最新的文件或者提交更新。集中化的版本控制系统,最显而易见的缺点是中央服务器的单点故障问题。如果宕机,那么就会出现谁都无法提交更新的情况,那么也就无法协同工作;如果磁盘发生故障,而备份又不够即时,那么就有丢失数据的风险,最坏的情况是丢失整个项目的历史更改记录。因此,分布式版本控制系统问世了(DVCS)。
分布式版本控制系统中,客户端不仅仅是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。所以每一次提取的操作,都是对代码仓库的完整备份,因此也就不必担心协同工作用的服务器发生故障。
Git和其他版本控制系统的主要差别在于:Git只关心文件数据的整体是否发生了变化,而多数的其他系统则只关心文件内容的具体差异,它们在每个版本中记录着各个文件的具体差异。在Git中的绝大多数操作都只需要访问本地文件和资源,不需要联网。这是因为Git在本地磁盘上就保留着所有当前项目的历史更新,所以处理起来速度飞快,这是使用空间换时间的处理方式。使用Git,即使在没有网络或VPN的情况下,你同样可以非常愉快的频繁提交更新,等到有了网络的时候再提交到远程的仓库。

GIT与VCS的更多相关文章

  1. IntelliJ IDEA+Tomcat+Nginx运行git项目

    1.克隆Git项目到本地 (1)设置Git工具路径:file>settings>Version Control>Git (2)设置GitHub账户:file>settings& ...

  2. Git打标签与版本控制规范

    前言 本文适用于使用Git做VCS(版本控制系统)的场景. 用过Git的程序猿,都喜欢其分布式架构带来的commit快感.不用像使用SVN这种集中式版本管理系统,每一次提交代码,都要为代码冲突捏一把冷 ...

  3. 【InteillJ IDEA】Git的安装+同步项目到GitHub上

    需要的工具: 1.InteillJ IDEA 2.Git 3.GitHub帐号 步骤: 1.下载Git 下载地址:https://git-scm.com/downloads 安装完成后 勾选Launc ...

  4. 规范-Git打标签与版本控制

    Git打标签与版本控制规范 前言 本文适用于使用Git做VCS(版本控制系统)的场景. 用过Git的程序猿,都喜欢其分布式架构带来的commit快感.不用像使用SVN这种集中式版本管理系统,每一次提交 ...

  5. 使用idea来部署git项目

    使用idea来部署git项目 一).将项目交由git管理 VCS ---->import into Version Cntorl ------>create Git Repository ...

  6. mac 上使用 idea 上传项目代码到阿里云git上

    1.Idea 打开需要上传的项目   2.先在本地创建一个git仓库 VCS --> Import into Version Control --> Create Git reposito ...

  7. pycharm配置git版本管理

    1.下载并安装git 首先你电脑必须安装git版本控制器(软件),在官网下载即可 2.安装git,正常安装即可 编缉器的选择,根据电脑实际情况选择合适的编缉器 安装参考:https://www.cnb ...

  8. IDEA里的git的使用

    1.将代码交由git管理 VCS  ——>  Enable Version Control Integration... 选择要使用的版本控制系统,选择Git  ——>  OK 2.将代码 ...

  9. android 使用 git 进行版本控制

    远程建立仓库 vcs --> import into version control --> create git respository 选中整个工程(project 页面) vcs - ...

随机推荐

  1. HTML表单组件

    HTML表单组件 一.说明 form标签里面的东西 二.效果图 三.代码 <!DOCTYPE html> <html> <head> <title>Fo ...

  2. 为什么需要API网关?

    目录 0:00 微服务与网关(Microservices & API Gateways) 大家好,我叫Macro,今天我们谈论有关微服务和网关的话题.我是Mashape的CTO,也同时是开源网 ...

  3. infra 仪表盘效果

    private void Gauge2() { // Infragistics.WebUI.UltraWebGauge.UltraGauge ultraGauge2 = //new Infragist ...

  4. bzoj1833: [ZJOI2010]count 数字计数 数位dp

    bzoj1833 Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. Input 输入文件中仅包含一行两个整数a.b,含义如上所述. O ...

  5. OAF页面集成条形码或者二维码

    OAF页面集成条形码 OAF生成条形码 OAF页面集成二维码跟这个类似,生成二维码需要以下jar包,zxing-core.jar, zxing-javase.jar,可自行去maven下载. 代码如下 ...

  6. javascript--- hasOwnProperty、instanceof 、typeof的区别

    typeof 作用:用来判断变量的类型 返回值: string  只有以下几种:number.boolean.string.object.undefined.function[很容易漏掉这个] 形式: ...

  7. bzoj1613

    题解: 简单dp 然而我还是错了7次 代码: #include<bits/stdc++.h> using namespace std; ,M=; int n,m,a[N],dp[N][M] ...

  8. Oracle 12c新特性(For DBA)

    一: Multitenant Architecture (12.1.0.1)      多租户架构是Oracle 12c(12.1)的新增重磅特性,内建的多分租(Multi-tenancy),一个容器 ...

  9. Python正则表达式操作指南

    摘要 本文是通过Python的 re 模块来使用正则表达式的一个入门教程,和库参考手册的对应章节相比,更为浅显易懂.循序渐进. 本文可以从 http://www.amk.ca/python/howto ...

  10. 使用MyEclipse设置所需配置的iOS应用

    MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] 一.iOS应用程序配置要求 这个进程需要四个需求数据文件: 证书签名请求(CSR)文件 证书签名请 ...