zoukankan      html  css  js  c++  java
  • git1

    title: Git(1)-初见
    date: 2017-11-18 02:35:18
    tags: 
      - git
      - 版本控制
    categories: 
      - Git
    

    Git是分布式版本控制系统,与SVN类似的集中化版本控制系统相比,集中化版本控制系统虽然能够令多个团队成员一起协作开发,但有时如果中央服务器宕机的话,谁也无法在宕机期间提交更新和协同开发。甚至有时,中央服务器磁盘故障,恰巧又没有做备份或备份没及时,那就可能有丢失数据的风险。 <!-- more --> 但Git是分布式的版本控制系统,客户端不只是提取最新版本的快照,而且将整个代码仓库镜像复制下来。如果任何协同工作用的服务器发生故障了,也可以用任何一个代码仓库来恢复。而且在协作服务器宕机期间,你也可以提交代码到本地仓库,当协作服务器正常工作后,你再将本地仓库同步到远程仓库。

    Git的优势

    • 能够对文本版本控制和多人协作开发

    • 拥有强大的分支特性 , 所以能够灵活地以不同的工作流协同开发

    • 分布式版本控制系统 , 即使无网络的情况下也能提交代码到本地仓库 , 有网络时再同步到远程仓库

    • 当团队中某个成员完成某个功能时 , 通过pull request操作来通知其他团队成员 , 其他成员可以进行review code后再合并代码

    Git的特性

    • 版本库当中的文件有3种状态 , 分别是已提交(committed) , 已修改(modified) , 已暂存(staged)

    • 直接记录快照 , 而非差异比较

    • 多数操作仅添加数据

    • 几乎所有的操作都是在本地执行

    • 时刻保持数据的完整性

    准备工作

    config

    Git自带一个git config工具来帮主设置git的相关配置

    #查看操作系统中所有用户的通用配置
    git config --system --list

    #查看当前用户的配置
    git config --global --list

    如果是当前仓库中 , 则在.git/config 中的配置是只针对该仓库的 , 每个级别的配置会覆盖上一个级别的配置

    #可以单独查看某一项配置信息
    #如果没有指定级别,则表示查看最终生效的配置信息
    git config user.name

    #或者指定某个级别的某个属性
    git config --global user.name
    设置用户信息
    git config --global user.name "NewName"
    #如果不加global则表示只修改当前库当中的配置信息

    .gitignore

    每个库中都可以存在一个该文件 用来配置不需要git进行追踪的文件 , 比如日志 , 编译的临时文件等 内容规范如下

    • #开头表示注释

    • 可以使用标准的glob模式匹配

    • 匹配模式以/开头防止递归

    • 匹配模式以/结尾指定目录

    • 要忽略指定模式以外的文件或目录 , 可以在模式前加上!表示取反

    glob模式是一种简化的正则表达式

    • * 匹配零个或多个任意字符

    • [abc] 只包含括号内的任意一个字符

    • [0-9] 横线表示范围

    • ? 匹配任意一个字符

    • ** 匹配任意的目录结构

  • 相关阅读:
    Bootstrap留言板界面练习
    Bootstrap 学习
    web | [GXYCTF2019]禁止套娃
    re | [GKCTF2020]WannaReverse
    PE文件结构 | 在PE文件的空白区添加代码
    PE文件结构 | RVA与FOA的转换
    re | [NPUCTF2020]BasicASM
    win32 | WinSock2网络编程 | socket-tcp通信
    web | flask 修饰器实现原理
    运维 | 配置LNMP | 基于docker.ubuntu:16.04
  • 原文地址:https://www.cnblogs.com/wangtaolearning/p/13130857.html
Copyright © 2011-2022 走看看