Git 的正确使用姿势与最佳实践:团队协作和版本控制的最佳实践 | 青训营

65 阅读2分钟

bytedance.feishu.cn/file/boxcnq…

引言

为什么要学习 Git ?

  • Git 在开源社区,协同工作中非常重要

Git 是什么

版本控制

本地版本控制

  • 依托于本地磁盘进行版本控制

集中式版本控制

  • 存在一个统一的远端服务器,用于版本控制,本地不存储版本控制

分布式版本控制

  • 每个库都拥有所有的版本控制信息,远端服务器用于不同库之间进行版本信息同步

发展历史

最初版由 Liunx 创始人 Linus Torvalds 花两周时间开发而成,主要是为了用于 Linux 项目的维护

衍生平台

除此之外,还有 bitbucket, Coding, 码云 等一系列平台

Git 命令基本使用方式和原理

Git 配置

  • Git Config

Git 配置,分成本地,用户,系统基本的配置

  • Git Remote

Git Remote 配置,分成 SSH 和 HTTP 两种协议实现,不同协议有不同的免密配置方式

代码提交

  • Git Add

将代码从工作区提交到暂存区

  • Git Commit

将暂存区代码提交到 Git 存储

Git 存储基本概念

  • Ref

    • Tag 仓库标签
    • Branch 仓库分支
  • Object

    • Blob 存储文件内容信息
    • Tree 存储目录树信息
    • Commit 存储提交信息
    • Tag 存储附注标签信息

代码同步

  • Git Clone

将代码从远端拉取到本地

  • Git Fetch & Git Pull

将远端仓库代码同步到本地仓库

  • Git Push

将本地代码同步到远端仓库

Git 研发流程

集中式工作流

  • Gerrit 平台

围绕主分支进行开发

分支管理工作流

  • Git Flow
  • Github Flow
  • Gitlab Flow

如何合并代码

  • Three Way Merge
  • Fast Forward Merge

选择合适的工作流

  • 少量多次提交
  • 保证 CR / CI 等流程通过后才可合入
  • 尽量保证主分支整洁