Git基本概述

大致介绍

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,可以有效、高速的处理从很小到非常大的项目版本管理。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件

Git的诞生

Git是由Linus编写的,这个名字应该不会陌生,著名的Linux就是Linus的杰作!(厉害的人干啥都厉害),虽然Linus创建了Linux,但是Linux的壮大是由全世界热心的参与者共同努力的结果,而在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!

可想而知Linus的心有多累,但在2002年Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统

但是由于某种原因BitMover公司在2005年收回了Linux社区的免费使用权。然后Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!(厉害的人干啥都厉害)

Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

版本控制

◆ 本地版本控制系统

◆ 集中化的版本控制

◆ 分布式的版本控制

本地版本控制系统

大多的本地版本控制系统都是采用某种简单的数据库来记录文件的历次更新差异

集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )

集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

集中式版本控制系统有几个明显的缺点:

1、如果遇到中央服务器故障,那么谁都无法进行提交,也就无法进行协同工作

2、必须联网进行操作

分布式的版本控制系统( Distributed Version Control System,简称 DVCS )

客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。

分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • Git里多种撤销操作的最佳方法

    前言 相信大家都知道任何版本控制系统的一个最有的用特性就是"撤销 (undo)"你的错误操作的能力.在 Git 里,"撤销" 蕴含了不少略有差别的功能.当你进行一次新的提交的时候,Git 会保存你代码库在那个特定时间点的快照:之后,你可以利用 Git 返回到你的项目的一个早期版本. 撤销一个"已公开"的改变 场景: 你已经执行了 git push, 把你的修改发送到了 GitHub,现在你意识到这些 commit 的其中一个是有问题的,你需要撤销

  • CentOS 最新版本git的安装教程

    CentOS6.5自带的git版本是1.7.1 卸载自带的git # yum remove git 下载最新版git # wget https://github.com/git/git/archive/v2.9.2.tar.gz 解压 # tar zxvf v2.9.2.tar.gz # cd git-2.9.2 编译安装 # make configure # ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv

  • Git基本常用命令

       mkdir:         XX (创建一个空目录 XX指目录名)    pwd:          显示当前目录的路径. git init          把当前的目录变成可以管理的git仓库,生成隐藏.git文件. git add XX       把xx文件添加到暂存区去.    git commit –m "XX"  提交文件 –m 后面的是注释.    git status        查看仓库状态 git diff  XX      查看XX文件修改了那些内容

  • Git 命令使用技巧提供工作效率

    与其他技术相比,Git应该拯救了更多开发人员的饭碗.只要你经常使用Git保存自己的工作,你就一直有机会可以将代码退回到之前的状态,因此就可以挽回那些你深夜里迷迷糊糊犯下的错误. 尽管这么说,Git的命令行界面可是出了名的难掌握.接下来,就给大家介绍7个小技巧,最大限度发挥Git的作用. 通常,大部分时间我们都只会用到add.commit.branch和push/pull这些命令.大部分人熟悉这套只往一个方向运转的工作流.你们有没有想过,如果自己往仓库中添加了错误的文件,或是将代码提交到了错误的分

  • Git fetch和pull的详解及区别

    git fetch和pull的区别 Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge Git fetch origin master git log -p master..origin/master git merge origin/master 以上命令的含义: 首先从远程的origin的master主分支下载最新的版本到origin/master分支上:然后比较本地的master分支和origin/mas

  • 在Linux下搭建Git服务器步骤

    环境: 服务器 CentOS6.6 + git(version 1.7.1) 客户端 Windows10 + git(version 2.8.4.windows.1)  ① 安装 Git Linux 做为服务器端系统,Windows 作为客户端系统,分别安装 Git 服务器端: #yum install -y git 安装完后,查看 Git 版本 [root@localhost ~]# git --version git version 1.7.1 客户端: 下载 Git for Windows

  • git拉源码maven构建后部署脚本详解

    部署某个中间件到测试机器脚本 从git取源码,再maven构建,将jar拷贝到服务器,备份旧版本,重启. #!/bin/bash server_ips=(132.121.100.44 132.121.100.45 132.121.100.46 132.121.100.47) git_url=http://seaboat:123456@132.122.1.21:8888/splan/dbpool-src.git port=22 user=seaboat dbproxy_base=/data/sea

  • GIt的基本操作详解

    目录 基本操作 安装与配置 init add与commit clone vim status diff rm(删除文件) 恢复文件 MV(重命名) Git分支操作 查看历史记录 添加标签 清屏 基本操作 安装与配置 $ git config --global user.name "runoob" $ git config --global user.email test@runoob.com $ git config --global core.editor Vim//指定文本编辑器

  • Git 命令详解及常用命令整理

    Git 命令详解及常用命令 Git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下: 关于git,首先需要了解几个名词,如下: Workspace //工作区 Index / Stage //暂存区 Repository //仓库区(或本地仓库) Remote //远程仓 一.新建代码库 // 在当前目录新建一个Git代码库 $ git init // 新建一个目录,将其初始化为Git代码库 $ git init [project-name] //

  • 阿里云Linux-CentOS系统下-搭建Git服务器详解

     阿里云Linux-CentOS系统下-搭建Git服务器 步骤总结: 1. 安装git 首先确认服务器是否安装Git 在Xshell中输入命令:$ rpm -qa git 结果如下表示已经安装: 如果未安装就安装git 在Xshell中输入:$ yum install git 2. 创建一个git用户,用来运行git服务: 在Xshell中输入:$ sudo adduser git 此时在阿里云服务器的根目录:/home文件夹下新增一个文件夹git 按这个层级建立文件用于存放客户端用户的公钥:/

随机推荐