企业的Git开发模式

企业的Git开发模式

Tags
git
description
比较规范的Git开发流程
更新时间
Last updated January 28, 2022
在XSKY的第一个项目Pluto中,我们的git开发模式是这样的
  1. 所有人将Overload(源代码库)中的Pluto fork到自己的代码库中,并从自己的代码库拉取代码到本地
  1. 在本地项目中关联源代码库的Pluto项目地址
    1. git remote add upstream [源Pluto项目地址]
  1. 在本地修改代码,暂存,提交,并推送到自己的远程代码库
    1. 修改代码前需要同步源代码库的Pluto并切换一个新的分支进行开发(切忌在master上开发)
      1. git fetch upstream git rebase upstream/master
    2. 开发结束后可能需要再次同步代码库并处理冲突
  1. 通过PR的方式提交到源代码库
  1. 通过组员,组长的code review,以及CI的检查
  1. 采用Squash Merge的方式将所有的commit的合并成一个commit再提交给源代码库
  1. 删除用于开发的分支,同步源代码,回到步骤3

错误的方式

  • 所有的提交全在一个master上进行操作,写完之后直接提交到远程分支并向原仓库发起PR
  • 这种方式当你需要从原仓库拉取到本地master时,可能会因为PR过程中采用的squash merge,导致upstream/master和本地master的commit并不会完全一致,rebase 过程中会要求所有的commit重新组织,导致问题
 

正确的方式

  • 本地的master不动,只用于与原仓库进行代码更新
  • 所有的开发需要创建新的分支进行开发,开发完成后提交到远程分支并PR到原仓库,原仓库接受后,删除用于开发的分支,并使用fetch和rebase同步upstream/master和本地的master