Git&GitHub(一)

版本控制

版本控制应该具备的功能

  • 协同修改
    • 多人并行不悖的修改服务器端的同一个文件。
  • 数据备份
    • 不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。
  • 版本管理
    • 在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空
      间,提高运行效率。这方面 SVN 采用的是增量式管理的方式,而 Git 采取了文
      件系统快照的方式。
  • 权限控制
    • 对团队中参与开发的人员进行权限控制。
    • 对团队外开发者贡献的代码进行审核——Git 独有。
  • 历史记录
    • 查看修改人、修改时间、修改内容、日志信息。
    • 将本地文件恢复到某一个历史状态。
  • 分支管理
    • 允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。

集中式版本控制工具和分布式版本控制工具

  • 集中式版本控制工具

主要是客户端和服务器来进行交互,有单点故障的风险;
在这里插入图片描述

  • 分布式版本控制工具
    在本地就能完成完整的版本控制,本地上有完整的提交历史,提交过的所有历史版本在本地都有存储,任何的一个人都可以把数据传给别人,这样的话,就很好的避免了单点故障的风险;例如如果张三的数据丢失了,那么拿李四的数据来进行恢复就可以了;
    这样的话,能够避免单点故障;一般都会有一个本地库和一个远程库;
    在这里插入图片描述

Git的简介

Git的官网

Git的官网

Git 的优势

  • 大部分操作在本地完成,不需要联网
  • 完整性保证
  • 尽可能添加数据而不是删除或修改数据
  • 分支操作非常快捷流畅
  • 与 Linux 命令全面兼容

Git的安装

  • 安装到一个非中文且没有空格的目录下:
    在这里插入图片描述

  • 使用了默认的设置
    在这里插入图片描述

  • 使用Vim的本文编辑器
    在这里插入图片描述

  • 这里我是使用了可以使用windows命令来进行操作的选项
    在这里插入图片描述

  • 使用了默认值
    在这里插入图片描述

  • 行末的换行符,这里使用了默认的方式
    在这里插入图片描述

  • 执行Git命令时的默认终端,这里选用了默认值
    在这里插入图片描述

  • 同样这里也是使用了默认值
    在这里插入图片描述

  • 此时为安装的过程:
    在这里插入图片描述

  • 如出现了下面的情况时,则表示Git安装成功
    在这里插入图片描述
    以及:
    在这里插入图片描述

Git在本地的结构

在这里插入图片描述

Git和代码托管中心

代码托管中心的任务:维护远程库

  • 局域网环境下
    • GitLab 服务器
  • 外网环境下
    • GitHub
    • 码云

本地库和远程库

团队内部协作

首先项目经理在本地上创建了一个本地库,为了把代码托管到远程代码托管中心,我们在代码托管中心创建了一个远程库,远程库刚创建好是空的,只有本地库是有内容的,文件和目录现在还都在本地库当中(包括历史记录),此时,我们就需要做一个推送(push)的操作,把本地库当中的内容推送到远程库当中去;而开发人员需要把远程库当中的内容给克隆下来,克隆的这个操作不光是下载远程库里面的东西,还会把本地库给初始化好,然后开发人员把改好的代码提交到本地库,然后再推送到远程库;开发人员直接推送给远程库是推送不了的,首先开发人员得加入团队,它加入团队就有了权限了;项目经理再把修改后的代码给拉取(pull)下来!
在这里插入图片描述

跨团队协作

在开发的时候,有时候会有这样的一个场景:项目经理给开发人员分配了一个任务,但是这个开发人员做不了,但是这个开发人员的一个好朋友可以做,此时这个开发人员就可以寻求这个好朋友的帮助,但是这个好朋友不是这个公司的员工,这个好朋友就可以把这个远程库给fork一份,给复制一份,此时这个远程库为这个好朋友的远程库,然后这个好朋友把自己的远程库给克隆下来,然后做一些修改,然后再推送到自己的远程库当中去,这个好朋友会去做一个拉取请求,这个项目经理来去做一个审核,如果审核通过了的话,那么就会在线去做一个merge合并的操作;那么此时项目经理的远程库当中就有了这位好朋友修改后的代码了;然后,项目经理再把远程库当中修改的代码给拉取下来:
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值