zoukankan      html  css  js  c++  java
  • 02、工具篇--Git版本控制

    Git详解

    目前市面上的版本控制工具,主要为集中式的版本控制和分布式的版本控制工具两种。

    Git概述

    集中式版本控制

    集中式的版本控制以SVN为代表,它有一个中央服务器控制所有的版本管理,其他所有的终端可以对这个中央库进行操作,中央库保证版本的唯一性。

    这样的方式具备一定的风险,如果中央服务器被毁坏,所有的项目版本控制就完蛋,而且终端不论是提交修改还是获取更新都需要不断与服务器进行通信,一旦网络出现故障,一切都很难再继续操作。

    因此,集中式的版本控制工具的劣势如下:

    • 容灾性差
    • 通信频繁

    分布式版本控制

    分布式版本控制的典型就是Git,它跟集中式版本控制最大的区别就是它的终端可以获取到中央服务器的完整信息,就好像制作了一个完整的镜像。

    获取各种信息都发生在本地,不需要和服务器进行通信。即使服务器出现故障或被毁,各个终端在本地依然存在完整的备份。

    Git核心思想

    Git作为分布式的版本控制工具,其核心在于以下几个方面:

    分布式:各个Repo都具有完整的镜像,协作中通常会有一台中心服务器,但分布式的思想是Git的重要概念。

    快照:Git每次记录的都是完整的Repo信息,不是每个版本之间的差异,这也是Git速度快的原因之一。

    状态区:只有掌握了不同状态区中的状态,才能真正了解Git的核心思想。

    分支:分支是Git重要的功能之一,利用好分支可以让Git的使用如虎添翼。

    Git基本配置

    我们在下载和安装好Git后,可以在终端中查看Git的版本信息:

    git --version
    

    如果之前使用过Git,可以通过如下命令查看当前Git的配置信息:

    git config --list
    

    效果如下图所示:

    配置参数的时候可以指定一个配置进行参数设定或者多个参数同时设定:

    git config --global --add user.name xxx user.email xxx@xx.com
    

    与Linux设计思想一样,Git也是把所有的配置都保存为文件,在Git项目中的.git隐藏文件夹的config文件中。

    [core]
        repositoryformatversion = 0
        filemode = false
        bare = false
        logallrefupdates = true
        symlinks = false
        ignorecase = true
    [submodule]
        active = .
    [remote "origin"]
        url = https://gitee.com/xxxx/xxxx.git
        fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
        remote = origin
        merge = refs/heads/master
    

    这里保存了Git项目的所有配置信息,而个人相关的配置信息都保存在个人配置中。

    配置别名Alias

    开发者可以根据自己的开发习惯来给一些指令起一个简称或别名以取代原本比较复杂的指令。

    git config --global alias.st status
    

    通过上述的配置就可以使用st来取代status指令。

    仓库初始化

    版本控制就是为了管理代码,代码要放在仓库(Repo)中。在Git中创建仓库有两种方式:

    一种是自己创建一个仓库。

    一种是创建另一个仓库的clone。

    Git init

    通过Git init指令可以把一个目录快速设置成Git的代码仓库:

    git init 
    

    通过上面的指令可以把普通文件目录设置成Git代码仓库。在创建成功后,会在该目录下生成.git隐藏文件夹。

    Git clone

    Git clone用于clone一个远程仓库到本地,命令如下所示:

    git clone http://www.xxx.org/pub/xxx/git/git.git
    

    Git命令

    Git包含很多操作的命令,主要有增加、删除、提交、分支管理、标签、信息查看、远程同步以及撤销等。

    Git的所有命令可以参考上图,下面列出Git常用命令速查表:

    多使用,多练习自然能慢慢的记住,唯手熟尔。(反正我是记不住^_^)

  • 相关阅读:
    [树状数组]H千万别用树套树
    [可持久化权值线段树上二分] Just h-index
    [大数] 组合数
    [模板]离散化
    [树状数组] Galahad
    [可持久化权值线段树] hdu 6703 array
    python Web抓取(二)selenium模块的使用、对浏览器的按键操作及错误处理
    python 调试大法-大笨蛋的笔记
    从终端运行python程序 模块内变量的作用域、添加模块的搜索路径
    Python组织文件 实践:查找大文件、 用Mb、kb显示文件尺寸 、计算程序运行时间
  • 原文地址:https://www.cnblogs.com/pengjingya/p/14984946.html
Copyright © 2011-2022 走看看