重新认识Git|青训营笔记

91 阅读2分钟

这是我参与「第三届青训营 - 后端场」笔记创作活动的第4篇笔记

一、Git是什么

Git是一个免费的、开源的分布式版本控制系统

  • 什么是版本控制?

    用来记录文件内容变化的一种系统

  • 为什么需要版本控制?

    方便查阅版本的改动,也可以进行错误代码的回滚(说白了就是一种高级的Ctrl+Z

  • 版本控制的类型?

    本地版本控制、集中式版本控制(SVN)、分布式版本控制(Git)

二、Git的基本使用

  1. 配置相关
  • git config 配置文件相关
  • git remote 指定本地仓库的远端仓库地址
  1. 提交代码
  • git add 暂存变动
  • git commit 变动提交到本地仓库
  1. 远端同步
  • clone 拉取远端仓库到本地目录
  • pull 拉取远端分支,并和本地合并
  • fetch 拉取远端分支,不会进行合并
  • push 本地代码同步到云端

三、使用Git的开发流程

集中式工作流 or 分支管理工作流

  • 集中式工作流

    只依托master分支进行研发活动

    1. 获取远端代码
    2. 直接在master分支完成修改
    3. 提交前拉取最新的master代码和本地代码进行合并,如果有冲突需要解决冲突
    4. 提交本地代码到master
  • 分支管理工作流

    • Git Flow

      分支类型丰富,规范严格

      优点:代码清晰,不易出现混乱

      缺点:流程太过复杂,上线节奏慢,研发难以按照该标准执行

    • Github Flow

      只有主干分支和开发分支,规则简单,基于Pull Request向主干分支中提交代码

    • Gitlab Flow

      在主干分支和开发分支之上构建环境分支,版本分支,满足不同发布 or 环境的需要

      既保持了单一主分支的简便,又可以适应不同的开发环境


Ref:字节跳动青训营 - Git的正确使用姿势与最佳实践